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