[英]Share auto-increment value from SQL stored procedure
我有一個存儲過程,該過程將數據插入具有自動增量ID(名稱為“ requestid”)的表中。 當我使用該過程向其中插入數據時,我想獲取auto-increment字段的值,並將其用於對同一存儲過程的另一個查詢。 我怎么做? 預先感謝您的寶貴時間。
CREATE PROCEDURE [dbo].[sp_Create_new_request]
@employeeid INT ,
@requestdate DATETIME ,
@deliverdate DATETIME ,
@totalcost MONEY
AS
BEGIN
INSERT INTO dbo.Requests
(
EmployeeID ,
RequestDate ,
DeliverDate ,
TotalCost
)
VALUES
(
@employeeid ,
@requestdate ,
@deliverdate ,
@totalcost
)
END
嘗試
CREATE PROCEDURE [dbo].[sp_Create_new_request]
@employeeid INT ,
@requestdate DATETIME ,
@deliverdate DATETIME ,
@totalcost MONEY,
requestid INT = NULL OUT
AS
BEGIN
INSERT INTO dbo.Requests
(
EmployeeID ,
RequestDate ,
DeliverDate ,
TotalCost
)
VALUES
(
@employeeid ,
@requestdate ,
@deliverdate ,
@totalcost
)
SET @requestid = SCOPE_IDENTITY();
END
您不應使用自動增量,而應使用序列來增量,然后可以在任何地方重用該值。
您也可以使用:
IDENT_CURRENT(“ dbo.Requests”)
有關IDENT_CURRENT的信息http://technet.microsoft.com/zh-cn/library/ms175098.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.