Du kan använda nextrecordset om du har flera resultatset
set rs = connect.execute("exec p.....") 'första resultatet
set rs = rs.nextrecordset() 'andra resultat
set rs = rs.nextrecordset() 'tredje resultat
4 svar · 315 visningar · startad av tonyh
Hej...
Jag skulle vilja anropa en Store Procedure från en annan och gör detta genom att använda exec(...) kommandot!
Problemet uppstår då de SP:n jag anropar(sparar data) returnerar ett id med hjälp av en select.
-- Save dafault values
EXEC spErrand_SaveAttribute null, 'text', @ErrandTypeId, 'Subject','Skriv in ärendetitel', null, null, 1, null, 1, 1
EXEC spErrand_SaveAttribute null, 'text', @ErrandTypeId, 'Description','Förklarande text', null, null, 1, null, 1, 1
-- Return ErrandTypeId
SELECT @ErrandTypeId AS ErrandTypeId
Ur denna SP vill jag ha ut ErrandTypeId(görs via ASP-sida) vilket jag inte lyckas p.g.a. de två anrop som görs innan som returnerar ett id.
Jag har testat med att sätta nocount(SET NOCOUNT ON) vilket inte hjälper. Finns det något sätt att få SQL-Server att förstå att man inte är intresserad av värdet SP:n returnerar???
Tack!
/ Tony H
Du kan använda nextrecordset om du har flera resultatset
set rs = connect.execute("exec p.....") 'första resultatet
set rs = rs.nextrecordset() 'andra resultat
set rs = rs.nextrecordset() 'tredje resultat
Jag skulle vilja lösa detta på db-nivå, d.v.s göra så att dessa "onödiga" recordset aldrig returneras...
Om jag bara vill runt problemet kan jag ju byta plats på anropen och göra min SELECT innan jag sparar undan variabler och sedan slippa hoppa igenom recordset...
Då måste du låta bli att göra dessa select: lägga resultatet i en temptabell eller göra return eller skicka som utparameter.
Hmmm...
Ok, tack... Jag tänkte om man kanske kunde använda sig av något systemprocedur typ "sp_executesql"(vet ej om denna klarar exekvera andra store procedures).
Hmmm snyggaste lösningen blir kanske att på något sätt ta hand om det returnerade värdet, t.ex. lägga i en temptabell som du föreslår...
...tack för hjälpen LarsG!!!
mvh / Tony H