首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >共享SQL存储过程中的自动增量值

共享SQL存储过程中的自动增量值
EN

Stack Overflow用户
提问于 2013-10-10 19:03:01
回答 3查看 948关注 0票数 0

我有一个存储过程,它将数据插入到具有自动增量id (名称为'requestid')的表中。当我使用该过程向其中插入数据时,我希望获取自动增量字段的值,并将其用于对同一存储过程的另一个查询。我该怎么做?提前感谢您的宝贵时间。

代码语言:javascript
复制
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 
EN

回答 3

Stack Overflow用户

发布于 2013-10-10 19:07:59

试一试

代码语言:javascript
复制
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 
票数 1
EN

Stack Overflow用户

发布于 2013-10-10 19:07:34

您不应该使用自动递增,而是使用sequence递增,然后可以在任何地方重用该值。

票数 0
EN

Stack Overflow用户

发布于 2013-10-10 19:15:49

您还可以使用:

IDENT_CURRENT ('dbo.Requests')

有关IDENT_CURRENT http://technet.microsoft.com/en-us/library/ms175098.aspx的信息

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19294037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档