Avatar billede hf Nybegynder
31. maj 2005 - 11:02 Der er 8 kommentarer og
1 løsning

Kald én stored procedure fra en anden stored procedure

Jeg har fundet ud af at følgende ikke kan lade sig gøre:

CREATE PROCEDURE sp_1
@intID int
AS
SELECT navn
FROM person
WHERE id IN (EXECUTE sp_2 @intID)
GO

sp_2 virker fint. Den returnerer et recordset med et antal id'er

Hvordan skal det laves i stedet?
Avatar billede dr_chaos Nybegynder
31. maj 2005 - 11:11 #1
Avatar billede hf Nybegynder
31. maj 2005 - 11:18 #2
Jeg kigger på det ...
Avatar billede arne_v Ekspert
31. maj 2005 - 12:57 #3
Jeg tror at du skal lave en FUNCTION fremfor en STORED PROCEDURE
Avatar billede ldanielsen Nybegynder
01. juni 2005 - 12:12 #4
Måske:

SELECT navn
FROM person
WHERE id IN (SELECT id FROM EXECUTE sp_2 @intID)
Avatar billede venne Nybegynder
01. juni 2005 - 21:52 #5
En mulighed:

CREATE PROCEDURE sp_1
@intID int
AS

CREATE TABLE #sp_1_tmp (id int)

INSERT INTO #sp_1_tmp
EXECUTE sp_2 @intID

SELECT navn
FROM person
WHERE id IN (SELECT id FROM #sp_1_tmp)

DROP TABLE #sp_1_tmp

GO
Avatar billede arne_v Ekspert
22. juni 2005 - 17:29 #6
hf ?
Avatar billede arne_v Ekspert
24. juli 2005 - 16:37 #7
??
Avatar billede hf Nybegynder
25. juli 2005 - 09:03 #8
Jeg er ikke færdig med en endelig løsning, men vil gerne give points for input. Så hvis I lægger nogle svar ...
Avatar billede arne_v Ekspert
25. juli 2005 - 17:44 #9
.
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