当前位置:系统粉 > 电脑问答 > 其他问答 > SQL数据库问题

SQL数据库问题

提问者:当仁№不让  |  浏览 次  |  提问时间:2017-03-21  |  回答数量:5

SQL数据库问题 两张表,一张stuInfo 一张stuScorestuInfo 学生信息表 有六个字段 stuID,scoreID,stuName,stuAge,stuSex,stuAddressstuScore 学生分数表 有两个字段scoreID,Score其中scoreID和主表是主外键关系题目要求是创建一个带参数的更新存储过程,第一个参数表示性别,第二个参数表示要加的分数create procedure proc_upate_stuInfo_stuScore(@sex char(2)@score int)asupdate stuInfo set stuSex=@sexupdate StuScore set Score=Score+@scorego如果在存储过程里写一条更新的代码,就不会出错,只要多出一个更新来就会报错,请问一下这是什么原因,如果我要将分数表里的所有男生的分数更新,该怎么写,请大大们解说一二,万分感谢

已有5条答案
lemon丶lee

lemon丶lee

回答数:22  |  被采纳数:132

2017-03-21 01:57:29
你这什么数据库的存储过程?

发个我以前用Oracle写的存储过程你参照一下
创建一个过程,传入雇员名,返回该雇员的薪水(薪金+佣金)create or replace procedure pp(e_name in emp.ename%type,e_sal out emp.sal%type)ass_sal emp.sal%type;s_comm empm%type;begin select sal,comm into s_sal,s_comm from emp where ename = e_name; e_sal := s_sal + s_comm;exception when no_data_found thendbms_output.put_line('没有找到此员工'); when others thendbms_output.put_line('意外问题');end;复制代码
赞 2
这是七个字了吧

这是七个字了吧

回答数:75  |  被采纳数:135

2017-03-21 03:25:44
SQL SERVER 2005啊。。。 [s:476]
赞 7
我乃微凉凉凉

我乃微凉凉凉

回答数:205  |  被采纳数:11

2017-03-21 07:09:10
create procedure proc_upate_stuInfo_stuScore
(
@sex char(2),
@score int
)
as

update StuInfo set stuSex=@sex
update StuScore set Score=@score

go
这是更新两个表的语句,如果我想更新第二章表里所有男生的分数该怎么写更新,性别字段在第一章里,表二中的ScoreID与表一中的ScoreID是主外键
赞 20
小湯

小湯

回答数:34  |  被采纳数:53

2017-03-21 04:04:00
没有表达清楚什么意思
把性别当参数传进来 应该不是用来更新StuInfo 表里的sex字段的
而是应该作为update表StuScore 的条件

但是把sex传给StuScore 又没有作用看不懂你想做什么事情
最好多贴点信息上来 - -
赞 3
远山咩羊

远山咩羊

回答数:33  |  被采纳数:119

2017-03-21 05:21:46
是我搞错了,没有理解存储过程中参数的意思。不过现在基本上明白了,谢谢了。
赞 3
解决方法
版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航