Hej! Du kan använda en Table-variable. Okej, låter som ett par bra förslag.Stored Procedure mellan olika tabeller
Misstänker att det finns en väldigt enkel lösning på mitt problem, har provat mig fram utan något bra resultat.
Fallet är följande, jag får data levereat till en tabell och ska sedan göra några kontroller med hjälp av en lagrad procedur och den procedurern är tänkt att sköta insert och update av poster. Logiken för den existerande proceduren är ganska komplicerad så vill helst inte modifera denna för mycket.
Är det möjligt att göra en select sats och sedan använda sig av svaret från denna och skicka det direkt till en lagrad procedur?
Kortsagt, läsa information från en tabell och sedan behandla informationen i tabellen med en lagrad procedur för att flytta data till en annan tabell..
Finns det något bra sätt att lösa detta?Sv: Stored Procedure mellan olika tabeller
Men då måste du kanske skriva om din SP så att den kan jobba mot en datamängd i stället för en rad.
Jag tolkar det som att din nuvarande SP tar emot en post åt gången, som den gör update eller insert på. Då skulle du kunna lösa det med en cursor (typ en for-loop) som selectar från in-tabellen och för varje rad, anropar din sp med variabler från cursorn. Då behöver du inte ändra på din gamla SP.
Prestandamässigt är det inte superbra men jag tror att det är detta du frågar efter.. :)
(Bättre är att göra en tvåstegsoperation, först inserts för nya poster, sen alla updates för befintliga poster, speciellt om det är mycket data att löpa igenom).
Kolla i hjälpen el googla på DECLARE CURSOR.
Ett annat sätt är att du gör en trigger som vid insert i in-tabellen anropar din SP med den insertade radens värden som parametrar till din SP. (då kan det ryka när in-tabellen påverkas men det kanske också är önskvärt, att det kastas fel om datat är fel). Sv:Stored Procedure mellan olika tabeller
Kollade runt lite och har redan utvecklat en trigger, gav mig ett par fördelar till iom att felen kommer direkt tillabaka till systemet som levererar så jag förhoppningsvis slipper ett par exceptions senare i applikationen.
Stort tack Ola!