`
izuoyan
  • 浏览: 8881621 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

insert into 后获得自动插入的id(select @@identity)

 
阅读更多

当运行完插入语句后,执行select @@identity就可得到自动生成的id

如果是sql server 最好用select SCOPE_IDENTITY() as id
因为@@identity全局的

同类还有IDENT_CURRENT(‘table’)

IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。
@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。
SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值

SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。

分享到:
评论

相关推荐

    对有insert触发器表取IDENTITY值时发现的问题

    会自动往T2表里面插一条记录 这样当我在T1表上插入新的数据时,取@@IDENTITY的时候,返回的id值是T2表里面的新记录的值 赶快查了下msdn,原来@@IDENTITY还有这么多讲究: 在一条 INSERT、SELECT INTO 或大容量复制语句...

    向数据库中插入数据并返回当前插入的行数及全局变量@@IDENTITY应用

    利用存储过程实现插入时返回当前的行数 代码如下: CREATE PROC Proc_InsertUser @name nvarchar(100) AS INSERT INTO dbo.User( Name )VALUES(@name) SELECT @@IDENTITY AS ID 利用全局变量@@IDENTITY实现。...

    sql语句返回主键SCOPE_IDENTITY()

    SELECT SCOPE_IDENTITY() 获取SQL-SERVER数据库insert into操作的主键返回值,SCOPE_IDENTITY 插入一条记录后想要立刻获取其数据表中的主键返回值。这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询...

    @@IDENTITY与SCOPE_IDENTITY()

    在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含语句生成的最后一个标识值

    SQL获取刚插入的记录的自动增长列ID的值

     insert into TestTable (CreatedDate) output inserted.id values (getdate())  SQL2000获得新增行的自动增长列的语句如下:  insert into TestTable (CreatedDate) values (getdate())  select @@...

    sqlserver自定义函数

    insert into @temp select * from test where id in(1,2) return --记住,一定不要忘记写return end --调用 select * from dbo.return_test_multi() --运行结果 --id name --1 test1 --2 test2 在...

    sql server获得新记录标识列值的二种方法

    对新添加的记录,获得新记录的自动标识列的值,有两种方式:1....2.使用全局变量@@IDENTITY全局变量INSERT INTO table_name(column1,column2,column3)VALUES(”,”,”)SELECT @@IDENTITY AS ID –ADO.NET调用

    不错的QQ 下个版本实现下拉式自动收缩

    Id int IDENTITY(1,1) primary key,--血型编号 BloodType varchar(50) NOT NULL,--血型名称 ) insert into BloodType(BloodType) select 'A'union select 'B'union select 'O'union select 'AB' select * from ...

    C#写的 SQL Builders

    .net项目中开发中有时会用到动态构建SQL语句,根据本人使用SQL的经验,写出了一些常用的SQL语句...SELECT @@IDENTITY AS id 调用时int newId = Convert.ToInt32(sqlCommand.ExecuteScalar()); 即可返回新增的纪录id。

    查询误删除数据表的存储过程

    SET @sqlStr ='insert into ' + @log_tableName +'(' + @sqlStr + 'OccurTime) ' + 'select ' + @sqlStr + 'getdate() as OccurTime from deleted' SET @sqlStr = 'CREATE TRIGGER '+@tableName+'DeleteTrigger ON...

    SQL server 自增ID–序号自动增加的字段操作

    create table Test_Table(Id int Identity(1,1), Name varchar(20)); 这里用到了IDENTITY 关键字。IDENTITY(a,b),a b均为正整数,a表示开始数,b表示步长。 IDENTITY(1,1)就代表从1开始,每次增加1。 现在插入两条...

    数据库表ERP表参考。仅供参考

    Res_id Int primary key identity(1,1) not null, --职员信息ID 主键 非空自增 Int Emp_id Int not null, --职员ID 外键 Res_name Varchar(50) not null, --真实姓名 Res_englishname Varchar(50) null, --...

    常用SQL语句(嵌套子查询/随机等等)详细整理

    1.SQL 插入语句得到自动生成的递增ID值 代码如下: insert into Table1(Name,des,num) values (‘ltp’,’thisisbest’,10); select @@identity as ‘Id’ 2.实现是1 或0 想显示为男或女 代码如下: select name,Sex...

    sql游标实例,更新行

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tmp_Last]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tmp_Last] CREATE TABLE [tmp_Last] ( [FEntryID] [int] ...

    酒店管理系统

    [Telephone] [varchar](50) NULL, [Fax] [varchar](50) NULL, [EMail] [varchar](50) NULL, [ID] [int] IDENTITY(1,1) NOT NULL ) ON [PRIMARY] END INSERT INTO [Employees] VALUES ('...

    SQL2005经典问题教程

    fetch cur_rows into @id,@max while @@fetch_status=0 begin select @max = @max -1 set rowcount @max delete from 表名 where 主字段 = @id fetch cur_rows into @id,@max end close cur_rows set rowcount 0 ...

    数据库操作语句大全(sql)

    插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value...

    sqlserver存储过程

    fetch next from @exec_cur into @Id, @UserName, @Address; print 'Id: ' + convert(varchar, @Id) + ', name: ' + @UserName + ', Address: ' + @Address; end close @exec_cur; deallocate @exec_cur;--删除...

    C# 中用 Sqlparameter 的两种用法

    新建一个表: create table abc ( id int IDENTITY(1,1) NOT NULL, name nvarchar(100) , sex nvarchar(10) ) insert into abc values(‘asf','男') ...select @thename= name from abc where id=@id 在

    经典SQL语句大全

    插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value...

Global site tag (gtag.js) - Google Analytics