永发信息网

SQL建立存储过程,插入一条新记录出现错误,如何修改?

答案:2  悬赏:0  手机版
解决时间 2021-07-28 16:51

在“学生成绩管理”数据库中建立存储过程ins_grade,要求根据输入的学号、课程号和成绩往成绩表中插入一条新记录,要求学号和课程号是学生表和课程表中已经存在的,才能正常插入。如果不存在这样的学号和课程号,给出相应的错误提示,然后不进行插入操作结束存储过程。

以下是我的语句:
create proc ins_grade
@xh char(12),@kch char(8),@cj numeric
as
begin
if exists (select 成绩表.学号,成绩表.课程号 from 学生表,成绩表,课程表
where 学生表.学号=成绩表.学号 and 成绩表.课程号=课程表.课程号)
insert into 成绩表(学号,课程号,成绩) values(@xh,@kch,@cj)
else
print '不进行插入操作,结束存储过程'
end

当执行时,exec ins_grade 200600010001,00010004,56

发生错误,应该怎样改正?

最佳答案

if exists (select 学号 from 学生表 where 学生表.学号=@xh) -- 学生表中存在@xh


and exists (select 课程表.课程号 From 课程表 where 课程表.课程号=@kch) --课程表中存在@kch
insert into 成绩表(学号,课程号,成绩) values(@xh,@kch,@cj) --然后插入



你之前写的逻辑上就是不成立的

全部回答

字符串要加 单引号吧 另外楼上说的也是呀 你的逻辑上就错了呀

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
散打如何运用膝肘
冯德全教授之早教革命
封丘县新乡世纪精剪(幸福路)地址在哪,我要去
什么牌子的纯奶、酸奶含营养成份高?
We are long time to see,and i miss you so
从民勤坐车去摇干矿物局车费是多少
潜心做学问的名言
蒸湘区爱尚美美容养生馆(衡阳店)在什么地方啊
我想买个狼蛛键盘,我在齐齐哈尔,请问多钱买
怎么我的QQ交友搜索不能填个人资料?
空间中花藤怎么升级快
有距离的爱怎样才能被父母认可
单机游戏仙剑三是多久出来的
《限女孩子回答》女人的第一次重不重要?
我爱她 她不爱我 我该怎么办
推荐资讯
一定要帮帮我啊?
新华区平顶山国大药房(二十八店)地址在哪里啊
恩施市恩施唐古拉(东风大道)这个地址在什么地
鹿邑县周口聚味斋调料批发部地址有谁知道?有
热血江湖开10个号的 电脑配置谁知道`?
如何解释这种状况?
再见不再见是什么意思,为什么分手,连一句再
海盐哪里有卖钉鞋?
下面题选那一个,并说明理由
我的QQ音信为什么还显示
谁能告诉我DNF里满级之后有多少SP点?(该做
网线连接方法,五类线和六类线的区别
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?