sql創建存儲過程列出學生成績
『壹』 用sql語句 創建一個修改特定學號學生成績的存儲過程
---假定變數xuehao為學號,kecheng為課程,chengji為成績,表名內稱為mytable。
CREATEPROCEDUREUpdateScore
(
@容xuehaovarchar(20),
@kechengvarchar(50),
@chengjivarchar(5)
)
AS
SETNOCOUNTOFF;
UPDATEmytableSETchengji=@chengji
WHERE(xuehao=@xuehao)AND(kecheng=@kecheng)
GO
『貳』 用SQL語句創建存儲過程查詢男或女同學的最高成績
mysql:
create procere pro_getMax($sex varchar(2))
begin
select max(score) from tb_scores where sex=$sex;
end
sqlserver:
create procere pro_getMax
@sex varchar(2))
AS
begin
select max(score) from tb_scores where sex=@sex
end
『叄』 SQL,創建一個存儲過程,接收學生姓名後返回該學生的課程總成績。怎樣做
我給你來寫個例子:自
create procere getTotal
@studentname varchar(6),
@zongchengji int output //output表示輸出參數
as
//假如,表中已給出總成績
select @zongchengji=total from table where name=@studentname
go
這個存儲過程大概是這樣
『肆』 SQL創建一個存儲過程,當變數輸入一個學生的姓名的時候,返回這個學生的姓名,選修課程名稱,成績。
兩個表靠什麼欄位關聯?
還有這個靠一個sql語句就能跑出來,不用存儲過程
『伍』 sql serve創建存儲過程,查詢指定學生的學號、姓名、課程名、成績
if (exists (select * from sys.objects where name = 'proc_stu'))
drop proc proc_stu
go
create proc proc_stu(@sname varchar(8) ='張%')
as
select Student.sno,sname,lname,grade
from Student left join SC on Student.sno=SC.sno
left join Lesson on SC.lno=Lesson.lno
where sname like @sname
go
『陸』 用SQL語句創建存儲過程查詢男同學語文成績,還有名字
if (exists (select * from sys.objects where name = 'proc_stu'))
drop proc proc_stu
go
create proc proc_stu(@sname varchar(8) ='張%')
as
select Student.sno,sname,isnull(lname,'') as lname,isnull(grade,0) as grade
from Student left join SC on Student.sno=SC.sno
left join Lesson on SC.lno=Lesson.lno and
where SC.sname=@sname
go
『柒』 在sql中如何創建一個存儲過程查詢指定姓名的學生信息。
create proc p_姓名
as
select * from 學生表
where 姓名="你指定的學生姓名"
『捌』 創建一個存儲過程,給定某學生學號,要求查詢出該學生的姓名,所選課程名和成績.(SQL SERVER)
/*創建存儲過程*/
CREATE PROCEDURE proc_select--建立存儲過程
@Sno char(10) output,--輸入輸出參數
@Sname varchar(20) out,--輸出參數
@Cno char(4) out,--輸出參數
@grade tinyint out--輸出參數
AS
SELECT @Sname=Sname,@Sno=Student.Sno,@Cno=cno,@grade=grade --select裡面寫輸出參數
FROM Student,SC --從學生表,選修表中查詢
where @Sno=Student.Sno--where裡面寫輸入參數
/*根據給定學號查詢*/
CREATE PROC proc_lab4 --存儲過程中含有游標
@Sno char(10)
as
declare @ssno char(10),@ssname char(20),@ccname char(20),@scg int--聲明四個變數
declare cursor_s cursor--聲明游標
for
select Student.Sno,Sname,Cname,grade
from Student,Course,SC--從三個表中選擇學號、姓名、課程名、成績
where Student.Sno=SC.Sno and Course.Cno=SC.Cno and Sname=@Sname;--連接
open cursor_s--打開游標
fetch next from cursor_s into @ssno,@ssname,@ccname,@scg
while @@fetch_status=0
begin
print @ssno+@ssname+@ccname+convert(char(10),@scg)
fetch next from cursor_s into @ssno,@ssname,@ccname,@scg
end
close cursor_s--關閉游標
deallocate cursor_s--釋放游標
exec proc_lab4 '201215121'
--只帶輸入參數
CREATE PROC p2
@sno char(10)
as
select Student.Sno,Sname,Cname,grade
from Student,SC,Course
where Student.Sno=SC.Sno and SC.Cno=Course.Cno
and Sname=@sname
(8)sql創建存儲過程列出學生成績擴展閱讀:
創建存儲過程基本語法
create procere sp_name
@[參數名] [類型],@[參數名] [類型]
as
begin
.........
end
以上格式還可以簡寫成:
create proc sp_name
@[參數名] [類型],@[參數名] [類型]
as
begin
.........
end
/*註:「sp_name」為需要創建的存儲過程的名字,該名字不可以以阿拉伯數字開頭*/
『玖』 建立存儲過程『p1』,實現查詢某學號學生的成績最高分,最低分。用SQL來實現
create proc p1(@XH varchar(10)) as
select max(grade) 最高分,min(grade) 最低分
from SC
where Sno=@XH
『拾』 用SQL創建儲存過程能夠查詢出選修任何課程的學生信息及相應的分數的程序怎麼寫
create proc proc_name--這里可有可無參數,具體得看業務需求as select * from 表 where 條件go exec proc_name --調用就行了