我想在存儲過程中使用OUTPUT語句,以便返回新插入的行的ID。存儲過程是:此OUTPUT語句(SQL Server 2005)的語法有什麼問題?
CREATE PROCEDURE PROC_RESTORE_REQUEST_TO_QUEUE
@cs_uri_stem varchar(900),
@cs_uri_query varchar(2500),
@date datetime,
@time datetime,
@queue_state smallint,
@process_id int,
@simulation_start_time bigint,
@num_failures smallint
AS
SET NOCOUNT ON
INSERT INTO [DD#WORK].[dbo].[ebhFifoQueue] ([cs-uri-stem],[cs-uri-query],[date],[time],[queue_state],[process_id],[simulation_start_time],[num_failures])
VALUES (@cs_uri_stem,@cs_uri_query,@date,@time,@queue_state,@process_id,@simulation_start_time,@num_failures)
OUTPUT INSERTED.id
當我嘗試編譯此存儲過程,我得到一個錯誤信息:
附近有語法錯誤「輸出」。
我試圖此代碼的幾個排列無濟於事(相同的錯誤消息),包括移動OUTPUT語句到同一行INSERT語句。你知道我的語法有什麼問題嗎?在此先感謝您的幫助,
-Eric
我認爲,如果您只返回一個值,那麼使用輸出參數(請參閱我的答案)更容易從T-SQL或類似C#的語言中使用。 – 2010-10-25 18:14:35