求高手指点sql插入语句

我有部门表:deid,dename,职工表:id,nuember(编号),name,deid,但添加新职工的时候是填编号,name,部门名字,怎么写sql的插入语句添加新... 我有部门表:deid,dename,职工表:id,nuember(编号),name,deid,但添加新职工的时候是填编号,name,部门名字,怎么写sql的插入语句添加新员工,我写insert into employee(number,name,deid)values(@number,@name,@deid)出错,该怎么改,,求高手指点,插入的时候要不要加id 展开
 我来答
bhtzu
2014-07-31 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4201万
展开全部
和ID的关系应该不大,你先看看是不是自增ID,如果是,就不应该加ID
你输入的是部门名字,字段是部门ID,那么应该先根据名字查找部门ID,再将部门ID一起写到职工表,这样就需要两条语句。
select @deid from 部门表 where dename=@部门名字

insert into employee(number,name,deid)values(@number,@name,@deid)
追问
我是在sql数据源里写的sql语句,里面的选择、更新、插入是分开的,选择和更新没问题,但插入我用insert into employee(number,name,deid)values(@number,@name,@deid)我觉得没错,其实就一直出错,不知道为什么,不知道怎么改,求高手指点(我填写部门名字的时候是用droplist,就是显示选择的是部门名字,其实插入的是部门id),
追答
如果确认deid没错,那么理论上语句没错,这样说没法说明白。
给你两个建议,一个是,如果程序允许,获取到具体sql的报错信息,通过这个信息判断具体问题。
另一个是,在代码中显示或输出一下拼接好的insert语句,将拼接好的语句在sql管理器中执行试试,这样肯定有具体报错信息了,就比较容易分析错误了。
micro0369
2014-07-31 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4036万
展开全部
什么数据库?

如果是sqlserver,并且id设置成自增长,那么就可以不加id;否则就需要加。
如果是oracle,
一般都用加ID,然后只用 序号: seq_xxx.nextval 表示ID的下一个取值
更多追问追答
追问
SQL的,id设置的是主键,关键是插入语句该怎么改,我的查询和更新语句没问题,但插入的时候只能显示一张表(两张表是关联的,更新跟查询的时候可以有两张表,插入的时候只能选择一张表),自己写的插入语句一直出错,不知道为什么,求指导并改正
追答
你说了半天,没有说到关键点上,

你的部门表中:deid、和 职工表中 id 都是 自增长吗 ?

如果是,比如
insert into department(dename) values(@dename);

然后获得 deid
select @deid = IDENT_CURRENT(‘department’)

最插入员工表:
insert into employee(number,name,deid)values(@number,@name,@deid)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户99527
2014-07-31 · 超过57用户采纳过TA的回答
知道答主
回答量:116
采纳率:0%
帮助的人:113万
展开全部
set @sql='insert into table_49 values('127.0.0.1','2013-11-07 09:45:06','2013-11-07 09:45:13', '男','大一','Internet资源,图书馆')'
这里会解析生set @sql='insert into table_49 values(',两个单引号已经算成一个字符串了,所以后面的127无法识别。
所以这里你要修改成sql=""。外面使用双引号试试
追问
我要的是插入语句啊,而且插入语句是插入新员工,所以员工信息是不明确的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式