मैं एक नई डाली गई पंक्ति की आईडी वापस करने के लिए संग्रहीत प्रक्रिया में OUTPUT कथन का उपयोग करने का प्रयास कर रहा हूं। संग्रहीत प्रक्रिया है:इस OUTPUT कथन (SQL सर्वर 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
जब मैं इस संग्रहीत प्रक्रिया संकलित करने के लिए प्रयास करते हैं, मुझे एक त्रुटि संदेश मिलता है:
गलत वाक्य रचना के पास 'आउटपुट'।
मैं कोई लाभ नहीं हुआ (एक ही त्रुटि संदेश) के लिए इस कोड के कई क्रमपरिवर्तन की कोशिश की है, सम्मिलित करें बयान के रूप में एक ही लाइन पर आउटपुट बयान चलती भी शामिल है। क्या आप जानते हैं कि मेरे वाक्यविन्यास के साथ समस्या क्या है? आपकी मदद के लिए अग्रिम धन्यवाद,
-Eric
मुझे लगता है कि यदि आप केवल एक ही मूल्य लौट रहे हैं, तो आउटपुट पैरामीटर (मेरा उत्तर देखें) का उपयोग टी-एसक्यूएल या सी # जैसी भाषा का उपभोग करने के लिए थोड़ा आसान है। –