我使用INSERT
命令將一些值插入表中,然後我將它的插入值作爲OUTPUT
。現在我想通過它的ID使用SELECT
命令選擇插入的行我正在使用下面的代碼,但它似乎並沒有工作。在SQL Server存儲過程中選擇插入的行
CREATE PROCEDURE [dbo].[SP_UserRegistration]
(
@Name VARCHAR(100),
@Contact VARCHAR(20),
@DOB VARCHAR(20),
@MailAddress VARCHAR(500),
)
AS
BEGIN
BEGIN TRY
DECLARE @id INT
INSERT INTO Customer (Name, Contact, DOB, MailAddress)
OUTPUT inserted.ID INTO @id
VALUES (@Name, @Contact, @DOB, @MailAddress)
SELECT *
FROM Customer
WHERE ID = @id
END TRY
BEGIN CATCH
PRINT('Error in SP_UserRegistration')
END CATCH
END
你得到什麼輸出? –
「似乎不起作用」是對問題的模糊描述。你有錯誤嗎?它不返回行嗎?如果ID不是'IDENTITY',那麼它將是NULL。調試的第一步是添加一個'PRINT @ id'。這只是基本的問題解決 –
@ Nick.McDermaid值正在插入,但它不返回任何行 –