文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>使用UNIQUEIDENTIFIER做为主键 返回值的解决方法

使用UNIQUEIDENTIFIER做为主键 返回值的解决方法

时间:2010-11-10  来源:荷梅月剑

检查了存储过程,发现原来的存储过程是这样子的

 

INSERT INTO 
SMS_Msg (Sender,
[Content],SendTime,[Type],ReceiverStr,Enterprise_ID)
VALUES
(
@sender,@content,@sendtime,@type,@receivers,0)

declare @Table table(ID int identity(1,1),
MsgId
uniqueidentifier,
SendTime
datetime
)
insert into @Table(MsgId,SendTime)
select Id,SendTime
from SMS_Msg

select top 1 MsgId as Id from @Table order by SendTime Desc

 

这样确实能得到返回的全球唯一码,担是如果是批量添加数据的话,第二张表里的全球唯一码就会重复(搞不懂为什么要用两张表)

我把存储过程修改为

  

INSERT INTO SMS_Msg
(Sender,
[Content],SendTime,[Type],ReceiverStr,Enterprise_ID)
VALUES
(
@sender,@content,@sendtime,@type,@receivers,0)
SELECT @@IDENTITY

 

 

 

发现无法获得返回的主键,最后上网查了下资料,改为如下的代码,OK了

  

 
DECLARE @outputTable TABLE(ID uniqueidentifier)
INSERT INTO
SMS_Msg (Sender,
[Content],SendTime,[Type],ReceiverStr,Enterprise_ID)
OUTPUT INSERTED.ID
INTO @outputTable
VALUES
(
@sender,@content,@sendtime,@type,@receivers,0)

SELECT ID FROM @outputTable

 

相关阅读 更多 +
排行榜 更多 +
梦幻甜心蛋糕店手游 v1.0 安卓版

梦幻甜心蛋糕店手游 v1.0 安卓版

休闲益智 下载
狙击手血战鬼子 v8081.23.10.7 安卓版

狙击手血战鬼子 v8081.23.10.7 安卓版

休闲益智 下载
狙击手血战鬼子 v8081.23.10.7 安卓版

狙击手血战鬼子 v8081.23.10.7 安卓版

休闲益智 下载