24. august 2006 - 09:58
Der er
8 kommentarer og 2 løsninger
Cursor med Stored Procedure
Hej Jeg har en cursor i hvilken jeg gerne vil kalde en stored procedure. GetValue er en stored procedure i en anden database. Det ser sådan her ud: DECLARE @Id varchar(10) DECLARE c1 CURSOR FOR SELECT DISTINCT Id FROM Table2 OPEN c1 FETCH NEXT FROM c1 INTO @Id WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM c1 INTO @Id print Web.dbo.GetValue @Id, 0 Where Id = @Id END CLOSE c1 DEALLOCATE c1 Hvad er der galt? Kan man ikke kalde en sp fra en cursor? :-)
Annonceindlæg fra Computerworld it-jobbank
24. august 2006 - 10:15
#1
Hvad laver denne linie: Where Id = @Id?
24. august 2006 - 10:19
#2
noget overskydende jeg vist ikke fik væk,. men ikke der fejlen ligger.
24. august 2006 - 10:24
#3
Har du prøvet at set'te en dummyvariabel med værdien fra getValue og så printe variablen i stedet?
24. august 2006 - 10:38
#4
Måske har det noget med det at gøre: Jeg får denne fejl nu: Invalid object name 'Web.dbo.GetValue'.
24. august 2006 - 10:41
#5
Og nu denne her: The name 'GetValue' is not permitted in this context. Only constants, expressions, or variables allowed here. Column names are not permitted.
24. august 2006 - 13:04
#6
Prøv EXEC Web.dbo.GetValue @Id, 0
24. august 2006 - 13:27
#7
alle den slags alm ting har jeg forsøgt... Hvordan får man værdien fra en SP ud i en variabel ?
24. august 2006 - 13:52
#8
24. august 2006 - 14:04
#9
Nu skrev du jo kun, at du ville kalde en sp fra din cursor! declare @tmp int exec @tmp = Web.dbo.GetValue @Id, 0
24. august 2006 - 17:58
#10
Tak thrytter,. dit virkede :-)
Computerworld tilbyder specialiserede kurser i database-management