A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

昨天看视频有一段sql语句不理解:insert into T_User(Id,name) output inserted.Id value ('admin','888888')
结果返回时插入行的字段Id的值,请问output怎么用,后面必须跟inserted吗?还是output只用在插入语句中,如果其它的语句也能用output那么后面跟哪个关键字!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

5 个回复

倒序浏览
1,OUTPUT是SQL SERVER2005的新特性.可以从数据修改语句中返回输出.可以看作是"返回结果;
2,对于包含自增列的表执行多行INSERT语句,同时想知道新的标识值时,在INSERT中使用OUTPUT子句;
3,SQL Server 2005中的OUTPUT子句,可以使你从修改语句(INSERT、UPDATE、DELETE)中将数据返回到表变量中。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
简单的说呢就是给调用者返回值,因为一般情况下主键都不会是调用者自己添加的,要么自增,要么是Guid算法,这个就是返回给调用者看主键ID是多少。
output inserted.Id,返回插入的数据的ID。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
返回的是刚插入的数据的id值

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
output  输出值,对应的还有一个input 输入值一般默认的都是input 所以不用写
insert into T_User(Id,name) output inserted.Id value ('admin','888888')
这是还回插入的行的自增的ID值

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
是定义存储过程时用的返回值
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马