當前位置:係統粉 > 電腦問答 > 其他問答 > 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 係統粉 版權聲明 最新發布內容 網站導航