sql语句返回主键SCOPE_IDENTITY()

所属分类: 数据库 / MsSql 阅读数: 1166
收藏 0 赞 0 分享
在sql语句后使用
SCOPE_IDENTITY()

当然您也可以使用 SELECT @@IDENTITY

但是使用 SELECT @@IDENTITY是去全局最新. 有可能取得值不正确.

示例:
复制代码 代码如下:

insert into dbo.SNS_BlogData(userName) values('jiangyun') ;
SELECT SCOPE_IDENTITY()

获取SQL-SERVER数据库insert into操作的主键返回值,SCOPE_IDENTITY

插入一条记录后想要立刻获取其数据表中的主键返回值。这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询,获取出来。或者在插入数据之前取 出最大值,在最大值上面加一等等,方法很多,但是有些很不方便。
个人感觉最快的方式就是,在插入数据后直接获取主键的值,然后返回过来。
方法如下:
sql语句如下:
INSERT INTO tableName (fieldname ...) values (value ...) SELECT @@IDENTITY AS returnName;
在sql语句中加入SELECT @@IDENTITY AS returnName;用来获取主键的值
在程序中 获取返回值:
复制代码 代码如下:

public int sqlexecutereader(string sql)
{
DBopen();
SqlCommand myComm = new SqlCommand(sql, Connection);
int newID = Convert.ToInt32(myComm.ExecuteScalar());
DBclose();
return newID;
}

当然在此处主键是int类型的自动增加的。DBopen();DBclose();的操作在此就 不多说了。

select SCOPE_IDENTITY()

返回上面操作的数据表最后row的IDENTITY 列的值;

返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。

SELECT @@IDENTITY

返回上面操作最后一个数据表的最后row的IDENTITY 列的值;
创建表:

create table T_User(F_ID int identity(1,1) not null,F_Name varchar(20) not null)
插入数据:

insert into T_User(F_Name) values('我是谁') Select SCOPE_IDENTITY()
存储过程:

CREATE PROCEDURE [dbo].[sp_User](@F_Name int) AS
begin tran Insertinto_T_User
Insert into dbo.T_User(F_Name) values(@F_Name)
Select SCOPE_IDENTITY()
更多精彩内容其他人还在看

SQL Substring提取部分字符串

SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样
收藏 0 赞 0 分享

用户"sa"登陆失败 SQLServer 错误18456的解决方法

sqlserver下用sa登录提示18456错误的解决方法。
收藏 0 赞 0 分享

drop,truncate与delete的区别

这里说的delete是指不带where子句的delete语句
收藏 0 赞 0 分享

SQL语句查询数据库中重复记录的个数

一个sql语句:一个表test有四个字段id,a,b,c,如果表中的记录有三个字段a,b,c都相等,则说明这条记录是相同的,求相同的记录的个数 。
收藏 0 赞 0 分享

SQL 导入导出Excel数据的语句

从Excel文件中,导入数据到SQL数据库中,很简单
收藏 0 赞 0 分享

可以获取客户端的IP地址的sql语句

利用SQL语句得到客户端的IP地址的代码
收藏 0 赞 0 分享

SQL 根据汉字获取全拼的代码

SQL 根据汉字获取全拼(有些字还没有添加上去,请自已加上去,涂聚文注)
收藏 0 赞 0 分享

sqlserver exists,not exists的用法

exists,not exists的使用方法示例,需要的朋友可以参考下。
收藏 0 赞 0 分享

sqlserver substring函数使用方法小结

在操作sqlserver时候用到了substring函数,特整理一些实例,需要的朋友可以参考下。
收藏 0 赞 0 分享

sql 判断数据库,表,存储过程等是否存在的代码

sql下用了判断各种资源是否存在的代码,很实用。需要的朋友可以参考下。
收藏 0 赞 0 分享
查看更多