Transact-SQL 参考  
@@IDENTITY
返回最后插入的标识值。语法
@@IDENTITY返回类型
numeric注释
在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值。若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL。若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值。如果此语句激发一个或多个执行产生标识值的插入操作的触发器,则语句执行后立即调用 @@IDENTITY 将返回由触发器产生的最后的标识值。若 INSERT 或 SELECT INTO 语句失败或大容量复制失败,或事务被回滚,则 @@IDENTITY 值不会还原为以前的设置。在返回插入到表的 @@IDENTITY 列的最后一个值方面,@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 函数类似。 @@IDENTITY 和 SCOPE_IDENTITY 将返回在当前会话的所有表中生成的最后一个标识值。但是,SCOPE_IDENTITY 只在当前作用域内返回值,而 @@IDENTITY 不限于特定的作用域。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回任何会话和任何作用域中为特定表生成的标识值。有关更多信息,请参见 IDENT_CURRENT。示例
下面的示例向带有标识列的表中插入一行,并用 @@IDENTITY 显示在新行中使用的标识值。INSERT INTO jobs (job_desc,min_lvl,max_lvl)
VALUES ('Accountant',12,125)
SELECT @@IDENTITY AS 'Identity'
请参见CREATE TABLEIDENT_CURRENTINSERTSCOPE_IDENTITYSELECT系统函数©1988-2000 Microsoft Corporation。保留所有权利。

解决方案 »

  1.   

    为什么我的出的数据是null啊???
    CREATE PROCEDURE Proc_ImageStore @Image image,@ContentType nvarchar(50),@ImageSize nvarchar(50),@Sysid nvarchar(20) out AS
    INSERT  INTO  tbl_ImageStorge  (im_ImageData,vc_ImageContentType,in_Size) VALUES  (@Image,@ContentType,@ImageSize)
    set @sysid = @@identity
    GO
    我的存储过程
    谢谢
      

  2.   

    告诉你,图象资料,IMAGE类型的不能这么直接INSERT,需要用textcopy,在ASP里用appendchunk方法。
    在库里可以用:
    CREATE TABLE litf(ID int not null primary key,MyImage image,FileType varchar(255),FileNmae varchar(255))
    sp_fulltext_database 'enable'
    sp_fulltext_catalog 'My_FullDir','create'
    create procedure  sp_textcopy
    @srvname varchar(30),
    @login varchar(30),
    @password varchar(30),
    @dbname varchar(30),
    @tbname varchar(30),
    @colname varchar(30),
    @filename varchar(30),
    @whereclause varchar(30),
    @direction char(1)
    AS
    DECLARE @exec_str varchar(255)
    select @exec_str='textcopy/S '+ @srvname+' /U'+ @login+ ' /P' + @password+' /D '+@dbname+' /T'+@tbname+' /C '+@colname+' /W"'+@whereclause+'" /F"'+@filename+'" /'+@direction 
    EXEC master..xp_cmdshell @exec_str insert litf values(1,0x,'jpg','图片1') 
    sp_textcopy 'LITF','sa','密码','takson','litf','MyImage','c:\litf.jpg','where ID=1','I' 
      

  3.   

    我改过了,可是当我插入数据的时候,@@identity还是得不到我的正确结果啊。还是为null