50 lines
No EOL
2.3 KiB
Transact-SQL
50 lines
No EOL
2.3 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspBankszamlaIgenyles
|
|
GO
|
|
|
|
CREATE PROCEDURE uspBankszamlaIgenyles
|
|
@EgyediAzonosito nvarchar(36)
|
|
,@BankszamlaSzam nvarchar(24)
|
|
,@BankszamlaTulajdonosTipusId int
|
|
AS BEGIN
|
|
DROP TABLE IF EXISTS #TMPTable
|
|
CREATE TABLE #TMPTable(
|
|
EgyediAzonosito nvarchar(100) PRIMARY KEY
|
|
,BankszamlaSzam nvarchar(24)
|
|
,IsError bit
|
|
,ErrorText nvarchar(500)
|
|
,IntezmenyAzonosito nvarchar(100)
|
|
,BankszamlaTulajdonosNeve nvarchar(100))
|
|
|
|
INSERT INTO #TMPTable(EgyediAzonosito,BankszamlaSzam) VALUES(@EgyediAzonosito,@BankszamlaSzam)
|
|
|
|
-- AlreadyExists validacio
|
|
UPDATE tmp SET
|
|
tmp.IntezmenyAzonosito = i.C_AZONOSITO
|
|
,tmp.BankszamlaTulajdonosNeve = felh.C_NYOMTATASINEV
|
|
,tmp.ErrorText = IIF(t.C_BANKSZAMLASZAM IS NOT NULL AND t.C_BANKSZAMLASZAM <> '','A tanuló már rendelkezik bankszámlaszámmal','')
|
|
,tmp.IsError = IIF(t.C_BANKSZAMLASZAM IS NOT NULL AND t.C_BANKSZAMLASZAM <> '',1,0)
|
|
FROM #TMPTable tmp
|
|
INNER JOIN T_FELHASZNALO felh ON felh.C_EGYEDIAZONOSITO COLLATE HUNGARIAN_CI_AI = tmp.EgyediAzonosito COLLATE HUNGARIAN_CI_AI AND felh.TOROLT = 'F'
|
|
INNER JOIN T_TANULO t ON t.ID = felh.ID AND t.C_ALTANEVID = felh.C_TANEVID AND t.C_ALINTEZMENYID = felh.C_INTEZMENYID AND t.TOROLT = 'F'
|
|
INNER JOIN T_TANEV tanev On tanev.ID = felh.C_TANEVID AND tanev.TOROLT='F' AND (tanev.C_AKTIV = 'T' OR tanev.C_KOVETKEZO = 'T')
|
|
INNER JOIN T_INTEZMENY i ON i.ID = felh.C_INTEZMENYID AND i.TOROLT = 'F'
|
|
|
|
UPDATE tanulo
|
|
SET
|
|
tanulo.C_BANKSZAMLASZAM = tmp.BankszamlaSzam
|
|
,tanulo.C_BANKSZAMLATULAJDONOSTIPUSID = @BankszamlaTulajdonosTipusId
|
|
,tanulo.C_BANKSZAMLATULAJNEVE = tmp.BankszamlaTulajdonosNeve
|
|
,tanulo.SERIAL = tanulo.SERIAL + 1
|
|
,tanulo.LASTCHANGED = GETDATE()
|
|
,tanulo.MODIFIER = -5 --BankszamlaIgenylesJob
|
|
FROM T_TANULO tanulo
|
|
INNER JOIN T_FELHASZNALO felh ON felh.Id = tanulo.ID AND felh.TOROLT = 'F'
|
|
INNER JOIN T_TANEV tanev On tanev.ID = felh.C_TANEVID AND tanev.TOROLT='F' AND (tanev.C_AKTIV = 'T' OR tanev.C_KOVETKEZO = 'T')
|
|
INNER JOIN T_INTEZMENY i ON i.ID = felh.C_INTEZMENYID AND i.TOROLT = 'F'
|
|
INNER JOIN #TMPTable tmp ON tmp.EgyediAzonosito COLLATE HUNGARIAN_CI_AI = felh.C_EGYEDIAZONOSITO COLLATE HUNGARIAN_CI_AI
|
|
WHERE tanulo.TOROLT = 'F' AND tmp.IsError = 0
|
|
|
|
SELECT * FROM #TMPTable
|
|
|
|
END
|
|
GO |