12. december 2007 - 11:09Der er
4 kommentarer og 1 løsning
Kald af Stored Procedure i Stored Procedure
Jeg har en stored procedure, som kopiere data fra en tabel til en anden, men jeg skal have hentet et unikt id fra en anden tabel, ved hjælp af en stored procedure:
INSERT INTO XWEBSALESTABLE (DATASET, ROWNUMBER) SELECT DATASET, @SEQNO FROM OrderHeader WHERE id = @id
END
I kørslen, kan jeg se, at jeg får en korrekt værdi retur fra 'sp_seqno' Men @SEQNO får værdien 0 (nul ikke null)?
sp_seqno ser således ud: ALTER PROCEDURE [spseqno] @increment INT, @dataset CHAR(3) AS BEGIN TRAN UPDATE SEQ SET SEQNO = SEQNO + @increment WHERE DATASET = @dataset AND SEQID = 0 SELECT (SEQNO - @increment) FROM SEQ WHERE DATASET = @dataset AND SEQID = 0 COMMIT TRAN
Hvordan kan jeg sætte værdien (SEQNO - @increment) ind i min første SP???
Du kan vurdere at returnere @SEQNO med RETURN i sp_seqno.
Eksempel på brug af Return:
USE AdventureWorks; GO CREATE PROCEDURE checkstate @param varchar(11) AS IF (SELECT StateProvince FROM Person.vAdditionalContactInfo WHERE ContactID = @param) = 'WA' RETURN 1 ELSE RETURN 2; GO
Tak for hjælpen. Jeg valgte at returnere @SEQNO med RETURN. Det var blot en stored procedure, som er lavet af Microsoft til brug i ERP system, så jeg ville gerne kunne bruge den, som den var.
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.