社区
MS-SQL Server
帖子详情
求一条sql语句实现插入数据并返回这条记录的id
littlelam
2006-08-31 10:35:24
表[TableA]结构:id,username,password
id为种子
用一条sql语句实现插入('小明','123456')并返回这条记录的id
注意:要用一条语句实现!!!
...全文
1227
15
打赏
收藏
求一条sql语句实现插入数据并返回这条记录的id
表[TableA]结构:id,username,password id为种子 用一条sql语句实现插入('小明','123456')并返回这条记录的id 注意:要用一条语句实现!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
littlelam
2006-08-31
打赏
举报
回复
http://www.sql-club.com/wangyong/archive/2006/04/18/507.aspx
Select @@IDENTITY,很多程序员常用的语句。
通常情况下,这样的使用没有问题。但如果被插入数据的表上有Insert触发器,而这个触发器中有正好有了Insert动作,那么Select @@IDENTITY返回的值也许就不是预期的了。有了引子,后面偷个懒,Copy from online help.
在返回插入到表的 @@IDENTITY 列的最后一个值方面,@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 函数类似。
@@IDENTITY 和 SCOPE_IDENTITY 将返回在当前会话的所有表中生成的最后一个标识值。但是,SCOPE_IDENTITY 只在当前作用域内返回值,而 @@IDENTITY 不限于特定的作用域。
IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回任何会话和任何作用域中为特定表生成的标识值。
作用域:一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。
================
结贴
specialsoldier
2006-08-31
打赏
举报
回复
如果insert有返回值的话就号办了 可惜...
killxtt
2006-08-31
打赏
举报
回复
不清楚,mark,学习一下。
IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回任何会话和任何作用域中为特定表生成的标识值
用这个呢
xyxfly
2006-08-31
打赏
举报
回复
如果非要一条语句,应该只能耍无奈吧
呵呵
select @@identity 会不会不是期望的结果 我觉得应该会,@@identity: 返回目前session,所有范围(scope)中,任何表所生成的最后一个IDENTITY值
因为前面说了是当前session
MS应该会有考虑吧,高手指正 ^_^
littlelam
2006-08-31
打赏
举报
回复
返回这条记录的id? 必然要有一条显示ID的语句,
而Insert不可能完成返回显示ID的功能。
=================================
那就是出题目的人的问题了,先不管这个了
帮忙回答这个问题,分不够可再+
@@identity: 返回目前session,所有范围(scope)中,任何表所生成的最后一个IDENTITY值
=========================================
如果其它表也同时数据插入的话,select @@identity 会不会不是期望的结果?
WangZWang
2006-08-31
打赏
举报
回复
返回这条记录的id? 必然要有一条显示ID的语句,
而Insert不可能完成返回显示ID的功能。
littlelam
2006-08-31
打赏
举报
回复
@@identity: 返回目前session,所有范围(scope)中,任何表所生成的最后一个IDENTITY值
=========================================
如果其它表也同时数据插入的话,select @@identity 会不会错误?
littlelam
2006-08-31
打赏
举报
回复
这种就算一条语句那我无语.那个主考的人可以挂了
==============================================
exec('insert tablea select ''小明'',''123456''
select @@identity')
这应该算两句。。
================================
出题目的人没给出正确答案,如果没有人给出一句的等下就结贴。
九斤半
2006-08-31
打赏
举报
回复
呵呵,要是我也答不出来~~~
fcuandy
2006-08-31
打赏
举报
回复
这种就算一条语句那我无语.那个主考的人可以挂了
littlelam
2006-08-31
打赏
举报
回复
xyxfly(小虾米......BS问题解决不结贴)
正解
能说下这句
insert tablea select '小明','123456' select @@identity
是意思吗?
abc_sk
2006-08-31
打赏
举报
回复
两条语句就OK
xyxfly
2006-08-31
打赏
举报
回复
create table tablea
(
id int identity(1,1),
username varchar(100),
password varchar(100)
)
exec('insert tablea select ''小明'',''123456''
select @@identity')
这样算一句的话,呵呵^_^
littlelam
2006-08-31
打赏
举报
回复
某公司的面试题!!!
fcuandy
2006-08-31
打赏
举报
回复
不可能
7天带你玩转Mysql
数据
库之
SQL语句
在上线后发现原有的
数据
内容
SQL语句
执⾏结果没问题, 但是
数据
变化了以后SQL
返回
的结果就错误了。 3. 稍微复杂⼀点的SQL就不知道该如何写了。 4. 看不懂同⾏写的SQL是为什么。 5. 不知道索引的原理。 6. 不知道怎么...
sql语句
插入
一条
记录
同时获取刚
插入
的
id
有两种方式可以获得刚新
插入
的
id
①从inserted临时表中查询 ②使用全局变量@@
id
entity 查询 1、使用 output 关键字输出,inserted 为已
插入
的临时表,这样就可以得到刚刚
插入
该表的
id
了。 insert into...
sql
一条
语句
实现
插入
和更新
1、需
求
:找
数据
表objectTable 表中
id
为123456,没有就
插入
新
记录
,有就进行更新。 MERGE INTO objectTable t USING ( select '123456'
ID
,'张三' Name ) s ON (s.
ID
=t.
ID
) WHEN MATCHED THEN UPDATE SET t...
Sql
插入
记录
返回
主键
id
有时候,我们的主键
id
是自动生成的,然后想要
插入
记录
后,就取得
这条
记录
的
id
,怎么做呢...这五个,现在我要
插入
一条
记录
,
id
是自动生成的, 不用传入。 应该这样: Connection conn = null; int
id
= 0; tr...
SQL -
插入
数据
分析:
这条
sql语句
是按
数据
表中列的顺序进行
插入
的,但是这种语法不安全,我们应该尽量避免使用,上面的
SQL语句
高度依赖于表中列的定义次序,并且还依赖于其次序容易获得的信息。即使可得到这种次序信息,也不能保证...
MS-SQL Server
34,594
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章