用触发器实现在成绩表中输入学号后姓名列自动生成对应的姓名

就是在sno列输入y20102后sname自动显示王强... 就是在sno列输入y20102后sname自动显示王强 展开
 我来答
unique_lele
2014-12-12 · TA获得超过112个赞
知道小有建树答主
回答量:210
采纳率:100%
帮助的人:155万
展开全部
截图 看起来写的都差不多了。
就是insert语句该这样写
insert into tb_score(sname) select sname from tb_student where tb_student.sno=@sno

这个好像需要update吧。 新增学号 ,那么就该把这个学号对应的姓名修改掉
吧上面的insert 语句删掉
改成:update tb_score set sname=(Top 1 select sname from tb_student where tb_student.sno=@sno) where sno=@Sno
更多追问追答
追问
好像还是 不行唉,
提示:
消息 515,级别 16,状态 2,过程 insertname,第 9 行
不能将值 NULL 插入列 'sno',表 '实验数据库.dbo.tb_score';列不允许有 Null 值。INSERT 失败。
语句已终止。
追答
我的回答有修改 之前 你看看 用update 应该就不会有问题了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式