关于select @@IDENTITY的初识

这句话主要是得到唯一的主键,然后应用于下面的SQL语句

例如代码

StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into Info(");
            strSql.Append("Title,Details,Statue)");
            strSql.Append(" values (");
            strSql.Append("SQL2012Title,SQL2012Details,SQL2012Statue)");
            strSql.Append(";select @@IDENTITY");

这一段写的就是插入一条数据之后,再得到这条数据的主键,之后如果你是

同时需要往另一个表插入一条数据,而这个表需要另外一个表的主键,这时候在第一表插入时就返回这个表主键,这样你在插入下一个表时就不用再去查询第一个表的主键。当然,这些歌主键都不会是自增的,这是需要关注一下的,总之,对数据执行后得到的主键你可以用来删除或者更新(根据这个主键)也可以关联式插入。这就是我的见解了,有不足之处,希望大神指点一二

关于select @@IDENTITY的初识

时间: 2024-10-03 07:05:08

关于select @@IDENTITY的初识的相关文章

Access中的SELECT @@IDENTITY

在Access数据库中存在select @@identity吗?答案是肯定的.但是Access一次只能执行一条SQL,多条SQL需要多次执行,这是限制.在SQL Server中,可以一次执行多条SQL语句.Access使用的是Jet-SQL,SQL Server使用的是T-SQL,两者用法上相差很大. 但是Access中可以连续执行N条语句,象下面这样:   cmd.CommandText = "INSERT INTO MyTable (N1,N2) VALUES (22,11)"; 

Insert后返回自动插入的生成的ID:select @@identity

当运行完插入语句后,执行select @@identity就可得到自动生成的id 如果是sql server 最好用:select SCOPE_IDENTITY() as id因为@@identity全局的 同类还有IDENT_CURRENT(‘table’) IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值.IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表.@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值.SCOPE

select @@identity得到上一次插入记录时自动产生的ID

select @@identity的用法 2008-10-25 11:25:39|  分类: JSP Dev|举报|字号 订阅 用select @@identity得到上一次插入记录时自动产生的ID 如果你使用存储过程的话,将非常简单,代码如下:SET @[email protected]@IDENTITY 说明: 在一条 INSERT.SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值.若此语句没有影响任何有标识列的表,则 @@IDENTITY

select @@identity用法

用select @@identity得到上一次插入记录时自动产生的ID 如果你使用存储过程的话,将非常简单,代码如下:SET @[email protected]@IDENTITY 说明: 在一条 INSERT.SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值.若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL.若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值.如果此语句激发一个或多个执行产

select @@IDENTITY

用select @@identity得到最新一次插入记录时自动产生的ID 如果你使用存储过程的话,将非常简单,代码如下:SET @[email protected]@IDENTITY 说明: 在一条 INSERT.SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值.若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL.若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值.如果此语句激发一个或多个执行

select @@identity的用法

用select @@identity得到上一次插入记录时自动产生的ID 如果你使用存储过程的话,将非常简单,代码如下:SET @[email protected]@IDENTITY 说明: 在一条 INSERT.SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值.若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL.若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值.如果此语句激发一个或多个执行产

SQLServer SELECT @@IDENTITY 遇到的坑

经常在写存储过程的时候获取当前插入后的ID都会用  @@IDENTITY 但是今天在用 @@IDENTITY的时候涉及到当前数据的插入会有insert触发器发生时,发现与实际插入的ID值对不上,网上查询了一下,用SCOPE_IDENTITY()就好了 select SCOPE_IDENTITY() 返回上面操作的数据表最后row的IDENTITY 列的值: 返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值.一个作用域就是一个模块--存储过程.触发器.函数或批处理.

@@ROWCOUNT,@@IDENTITY, SCOPE_IDENTITY()

@@ROWCOUNT 返回受上一语句影响的行数,常用在 Update,Insert,Delete.如果行数大于 20 亿,请使用 ROWCOUNT_BIG. @@IDENTITY  返回最后插入的标识值的系统函数.可以用在插入数据后把标识值返回(不是最好的选择)  @@identity使用注意事项: 我们要慎用@@IDENTITY,原因是 @@IDENTITY 它总是获取最后一条变更数据的自增字段的值,而忽略了进行变更操作所在的范围约束.比如,我有表 A 和表 B 两个表,现在我在表 A 上定义

SQL Server 中@@IDENTITY的用法

原文地址:http://www.studyofnet.com/news/145.html 本文导读:@@IDENTITY是返回上次插入的标识值,标识值一般指的是自动增长值.但是如果想只返回插入到当前作用域中的值,则使用SCOPE_IDENTITY . 用法: 用select @@identity得到上一次插入记录时自动产生的ID 如果你使用存储过程的话,将非常简单,代码如下:SET @[email protected]@IDENTITY 说明: 在一条 INSERT.SELECT INTO 或大