Avatar billede bongo20 Nybegynder
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?

:-)
Avatar billede teepee Nybegynder
24. august 2006 - 10:15 #1
Hvad laver denne linie: Where Id = @Id?
Avatar billede bongo20 Nybegynder
24. august 2006 - 10:19 #2
noget overskydende jeg vist ikke fik væk,. men ikke der fejlen ligger.
Avatar billede teepee Nybegynder
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?
Avatar billede bongo20 Nybegynder
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'.
Avatar billede bongo20 Nybegynder
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.
Avatar billede thrytter Nybegynder
24. august 2006 - 13:04 #6
Prøv
EXEC Web.dbo.GetValue @Id, 0
Avatar billede bongo20 Nybegynder
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 ?
Avatar billede teepee Nybegynder
24. august 2006 - 13:52 #8
Læs eksemplet her, så tror jeg at du klarer resten selv:
http://www.databasejournal.com/features/mssql/article.php/3609901
Avatar billede thrytter Nybegynder
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
Avatar billede bongo20 Nybegynder
24. august 2006 - 17:58 #10
Tak thrytter,. dit virkede :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester