- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验七创建和操作数据库对象
云南大学软件学院
实 验 报 告
学号: 姓名: 成绩:
实验7 创建和操作数据库对象
分号;SQL语句进行分隔(不是必须的,但是良好的习惯)
带输入/输出参数的存储过程
1.只有输出参数(执行存储过程时按顺序填充参数)
create proc grad
(@max_grade int output,
@min_grade int output)
as
select @max_grade=MAX(grade)
from grades
select @min_grade=MIN(grade)
from grades
return
go
declare @max_grade int,@min_grade int
exec grad @max_grade output,@min_grade output
select @max_grade,@min_grade
2.有输入输出参数(执行存储过程时按顺序填充参数)
CREATE PROC my_procage @name nchar(20),@age int OUTPUT
AS
if not exists(SELECT * FROM students WHERE stud_name = @name)
return -101
SELECT @age = age
FROM students
WHERE stud_name = @name
return
GO
DECLARE @stud_age int,@status int
EXEC @status=my_procage 葛文卿, @stud_age OUTPUT
if @status=-101
print no that person!
else
print the student age is:+convert(varchar(10),@stud_age)
with check option
CREATE VIEW custview
AS
SELECT * FROM customers WHERE discnt 12.0
with check option
SELECT * FROM custview
update custview
set discnt = 13.0
where cid = c001
select * from customers
实验7-1 存储过程
1、使用不带参数的存储过程
(1)创建一个存储过程my_proc,查询“学生表”中所有计算机系女生的学号、姓名、性别、年龄和所在院系
DECLARE @stud_age int,@status int my_proc
AS
SELECT stud_id,stud_name,gender,age,school
FROM students
WHERE gender = 女 AND school = 计算机
Return
(2)执行存储过程
EXEC my_proc
(3)修改存储过程,使其能够查询计算机系女生的所有基本信息
ALTER PROC my_proc
AS
SELECT *
FROM students
WHERE gender = 女 AND school = 计算机
return
GO
EXEC my_proc
2、带输入参数的存储过程
(1)创建一个存储过程my_procsex,使其能够查询“学生表”中男学生或女学生的学号、姓名、性别、年龄和所在院系
CREATE PROC my_procsex @sex nchar(20)
AS
SELECT stud_id,stud_name,gender,age,school
FROM students
WHERE gender = @sex
Return
(2)执行存储过程
EXEC my_procsex @sex = 女
3、带输入/输出参数的存储过程
(1)创建一个存储过程my_procage,使其能够根据学生姓名,查询学生年龄。(考虑当学生不存在时给出提示信息)
(2)执行存储过程
CREATE PROC my_procage @name nchar(20),@age int OUTPUT
AS
if not exists(SELECT * FROM students WHERE stud_name = @name)
return -101
SELECT @age = age
FROM students
WHERE stud_name = @name
return
GO
DECLARE @stud_age int,@status int
EXEC @status=my_procage @name = 葛文卿,@age = @stud_age O
文档评论(0)