日期:2014-05-18  浏览次数:20415 次

关于插入数据返回ID(不是标识列)
我想问个问题。。。就是。
之前我们把库表的主键字段一般设置成identity自增的话
如果我插入一条数据。马上返回插入的这条数据的Id的话只要在insert语句后加select @@IDENTITY

如果我现在。不是标识列的话。。。我想让他返回我插入成功那条数据的那个字段有什么办法吗?谢谢了

------解决方案--------------------
SQL code
寫一個邏輯方法

CREATE TABLE T(ID UNIQUEIDENTIFIER,NAME NVARCHAR(50))
GO
CREATE PROCEDURE cTablename(
    @ID UNIQUEIDENTIFIER OUTPUT,
    @Name NVARCHAR(50)
)
AS
INSERT INTO T(ID,Name) VALUES(@ID,@Name)
GO
DECLARE @ID UNIQUEIDENTIFIER
SET @ID=NEWID()
EXEC cTablename @ID=@ID OUTPUT,@Name=N'中國風'
SELECT * FROM T WHERE ID=@ID
/*
ID    NAME

4666DFDF-D6C6-435C-8083-DBF56994ADE8    中國風
*/