sqlserver中声明变量并使用

我要先在一张表中插入一列数据以后返回主键列,再把这个返回的值插入到另一张表中。declare@aINTinsertinto[login]([username],[pass... 我要先在一张表中插入一列数据以后返回主键列,再把这个返回的值插入到另一张表中。

declare @a INT
insert into [login]([username],[password],[alevel]) values (7,7,4)SELECT @@IDENTITY AS @a
insert into [uninfo] ([uid]) values (@a)

请问怎么做。
展开
 我来答
Levept
推荐于2016-04-14 · TA获得超过139个赞
知道答主
回答量:47
采纳率:0%
帮助的人:31.9万
展开全部
你的问题出在对变量的赋值上了,应该用:SELECT @a=@@IDENTITY,
以下是我按你的要求做的例子,SQLServer 2008中测试正确:
Create Table login
(sId int IDENTITY PRIMARY KEY,
Name varchar(40) ,
Password varchar(40),
alevel varchar(40))
go
Create Table uninfo
(uid int)
go

declare @a INT
Insert Into login (Name,Password,alevel)
values (7,7,4)
Select * From login

SELECT @a=@@IDENTITY
insert into uninfo (uid) values (@a)
Select * From uninfo
go

drop table login
go
drop table uninfo
go

参考资料: 自己动手

s359576870
2011-11-10 · TA获得超过752个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:65.5万
展开全部
insert into [table2](uninfo) values(insert into [table1] values(7,7,4)select @@Identity)

你试试行不行,我对@@IDENTITY参数也不是很了解。。希望能帮到你。。
追问
insert into [uninfo] ([uid]) values ( insert into [login] ( [username],[password],[alevel] ) values(7,7,4) select @@Identity)

第二个insert 附近有语法错误 最后的括号附近有错误。

谢谢啊

参考资料: zhidao.baidu.com\hi.baidu.com

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式