关于SQL创建存储过程的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于SQL创建存储过程的相关的知识,希望对你有一定的参考价值。

RSB表是人事信息表,表中有字段:rybh(人员编号),xm(姓名),birth(出生日期),xb(性别),zc(职称),szbm(所在部门)
KCB表是课程成绩表,字段有:rybh(人员编号),kcmc(课程名称),cj(成绩)

1.创建存储过程,把KCB中姓张的人员的成绩加10分

2.创建存储过程,能查询指定姓名的人员信息,包括人员编号、姓名、职称、课程名称、成绩。
如果要查询姓名是‘李军’的人员信息,请写出存储过程调用形式。
如要查询姓名是‘邓林’的人员信息,存储过程的调用形式又如何写。
3.创建一个在KCB表中插入一条记录的存储过程,插入的具体数据由调用时给出。
如要插入一条记录,值为:
’A009’,’数据结构’,89
写出存储过程的调用形式。
4.创建一个带输出参数的存储过程,返回KCB表中某课程的及格人数(即成绩大于等于60分的人数)。
如要查询’数学’的及格人数,请写出调用程序。
5.创建存储过程,在Student表中删除指定班级名称的学生。如要删除‘00电子商务’班的学生,如何调用该过程。

--1.创建存储过程,把KCB中姓张的人员的成绩加10分

create proc usp_setcjUp10
(
@xm nvarchar(150)
)
as
begin
update KCB set cj=cj+10 where KCB.id in
(select k.id from dbo.RSB r,dbo.KCB k where r.rybh=k.rybh and xm like @xm+'%')
end

-- 2.创建存储过程,能查询指定姓名的人员信息,包括人员编号、姓名、职称、课程名称、成绩。
--如果要查询姓名是‘李军’的人员信息,请写出存储过程调用形式。

create proc usp_selectWhere
(
@xm nvarchar(150)
)
as
begin
select * from dbo.RSB r,dbo.KCB k where r.rybh=k.rybh and xm=@xm
end
go
--3.创建一个在KCB表中插入一条记录的存储过程,插入的具体数据由调用时给出。
create proc usp_insertKcb
(
@rybh int,
@cj float,
@kcmc nvarchar(50)
)
as
begin
INSERT INTO [KCB]([rybh],[cj],[kcmc])VALUES(@rybh,@cj,@kcmc)
end
go

其他的以此类推
参考技术A CREATE PROCEDURE ADDSCORE
AS
UPDATE KCB
SET KCB.CJ=KCB.CJ+10
FROM KCB,RSB
WHERE KCB.RYBH=RSB.RYBH AND RSB.XM LIKE '张%'
GO
CREATE PROCEDURE QUERYUSER
@NAME NVARCHAR(50)
AS
SELECT * FROM RSB WHERE XM=@NAME
GO
exec QUERYUSER 'LI'

CREATE PROCEDURE AddData
@rybh nvarchar(200),--人员编号
@kcmc nvarchar(200),--课程名称
@cj int --成绩
AS
INSERT INTO KCB(rybh,kcmc,cj) VALUES(@rybh,@kcmc,@cj)
GO
EXEC AddData 'A100','TEST',100
上班呢。瞎写下你看看
参考技术B --地use后面加go
use Message
go
create procedure CMRC_ProductsByCategory
@category int
as
select
goodsid,goodsname,xinghao,tupian,danjia
from goods where category=@category
order by goodsname,xinghao
go

以上是关于关于SQL创建存储过程的的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver 2008 关于存储过程中的临时表。

关于sqlserver存储过程的问题

关于msyql5.6创建存储过程的一些记录

关于SQLSERVER存储过程的问题,求解

关于sql sever 的系统存储过程

关于oracle存储过程中的sql拼接,大神进!!!