• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > sql语句返回主键SCOPE_IDENTITY()

sql语句返回主键SCOPE_IDENTITY()

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了返回主键,SCOPE_IDENTITY等相关知识,希望本文的分享对您有所帮助

sql语句返回主键SCOPE_IDENTITY()

在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()
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • sql语句返回主键SCOPE_IDENTITY()

相关文章

  • 2017-05-11MySQL生产库Insert了2次同样的记录但是主键ID是不一样的问题的分析过程
  • 2018-12-05SQL数据操作基础(初级)3
  • 2017-05-11解决MYSQL出现Can't create/write to file '#sql_5c0_0.MYD'的问题
  • 2018-12-05布尔教育燕十八mysql入门视频资料分享
  • 2017-05-11如何用workbench导出mysql数据库关系图
  • 2017-05-11MYSQL数据库导入数据时出现乱码的解决办法
  • 2017-05-11基于MYSQL中优化的一些方法
  • 2018-12-05mysql 5.7.11 winx64安装配置方法图文教程_MySQL
  • 2018-12-05ORACLE 回收站当前状态查询整理
  • 2018-12-05无需修改数据库为WordPress文章图片自动添加链接到原图

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL高级十四——表的优化
    • MySQL之—新安装的MySQL必须调整的10项配置的详细介绍
    • 忘记Mysql的root密码的处理办法
    • PHP mysqli扩展库 预处理技术的使用分析
    • MySQL中MIN()函数的使用教程
    • 如何得到Mysql每个分组中的第N条记录
    • 记ORA-00600 [25012]的一次解决过程
    • 批量更新数据库所有表中字段的内容,中木马后的急救处理
    • 关于MYSQL中每个用户取1条记录的三种写法(group by xxx)
    • mytop 使用介绍 mysql实时监控工具

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有