回 帖 发 新 帖 刷新版面

主题:比较easy的问题,请指教

CREATE PROCEDURE [AddUser]
    (
    @ItemId int out,
    @Name nvarchar(50),
    @Password nvarchar(20),
    @Email nvarchar(100))

AS INSERT INTO [Users]
     (
    Name,
    Password,
    Email )

VALUES
    (
    @Name,
    @Password,
    @Email )
SELECT
    @ItemId = @@Identity

这个存储过程里面的 @@Identity 是什么意思??

回复列表 (共2个回复)

沙发

@@Identity 表示用insert语句新插入记录的标识列的值

板凳

declare @id int
insert into jobs(job_desc,min_lvl,max_lvl) values('fanyp',10,50)
select @id=@@Identity
select @id

以PUBS 的jobs表为 例

插入一行数据后 把@@Identity值附给@id 最后查询出来  为job_id 的值
也就是标识列的值, 如果表没有标识列则查询出来为null

我来回复

您尚未登录,请登录后再回复。点此登录或注册