20 messaggi dal 06 settembre 2002
Ciao a tutti.
Spero di essere nel forum giusto.
Dovrei convertire una stored procedure scritta in sql server 2005 in un formato compatibile con sql server 2000.
Lo script è il seguente:

CREATE PROCEDURE [dbo].[spLoadLot]

@lotCode varchar(50),
@lotExpirationDate Datetime,
@lotID int OUTPUT

AS
BEGIN

IF @lotExpirationDate > GETDATE()
BEGIN
DECLARE @InsertTable table (lID int)

INSERT INTO Lot OUTPUT INSERTED.lotID INTO @InsertTable
VALUES (@lotCode, GETDATE(), @lotExpirationDate)

SET @lotID = (SELECT lID FROM @InsertTable)
END
ELSE
BEGIN
SET @lotID = 0
END

RETURN @lotID

END

L'errore che mi rtorna è:
Server: Msg 170, Level 15, State 1, Procedure spLoadLot, Line 14
Line 14: Incorrect syntax near 'OUTPUT'.

Grazie.
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
iif ha scritto:
Ciao a tutti.
Spero di essere nel forum giusto.
Dovrei convertire una stored procedure scritta in sql server 2005 in un formato compatibile con sql server 2000.


Le istruzioni DML with OUTPUT sono state introdotte in SQL Server 2005 e pertanto non essendo disponibili nelle versioni precedenti è questo il punto in cui ottieni l'errore e non la dichiarazione della variabile di output.
Ciò premesso poichè nel tuo post non fai riferimento alla struttura della tabella LOT posso ipotizzare che il campo LotID sia un identity e se è questo il caso puoi utilizzare, per recuperare il valore identity appena inserito, la funzione IDENT_CURRENT.
Fai riferimento al BOL di SQL Server per ulteriori approfondimenti.

Bye

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.