SQL__存储过程__创建

SQL__存储过程__创建

1.简单存储过程的创建

  • 热身

    	use xsgl
    	go
    

2.举例说明

  • 例子如下

    —创建1个简单的存储过程YYM,查询所有学生的学号、姓名、课程号和成绩信息,并按成绩降序排列—

    	create procedure YYM
    	as 
    	select xsqk.学号,姓名,性别,电话,出生日期,kc.课程号
    	from xs_kc,kc,xsqk
    	where xs_kc.学号=xsqk.学号
    	order by 4 desc 
    	go
    	exec YYM
    	go
    

2.带有输入输出参数的存储过程的创建

  • 使用输入函数
    —实例1:
    创建1个带有输入参数的存储过程Yanmin,查询指定课程号(作为输入参数)的学生成绩信息。

    	create procedure Yanmin
    	@课程号 char(5)='001' 
    	as 
    	select * from xs_kc 
    	where 课程号=@课程号
    	go
    	exec Yanmin        -----(1)使用默认值执行存储过程
    	exec Yanmin '002'         ----(2)按位置传递参数
    	exec Yanmin @课程号='003' ----(3)通过参数名传递参数
    	go                 -------每次执行完后不要忘记+"go"
    
  • 使用输入函数
    —实例2:
    创建并执行带输入参数的存储过程YangYanmin,查询指定学号(作为输入参数)的学生姓名、课程号、成绩。

    	create procedure YangYanmin
    	@学号 char(6)
    	as select 姓名,课程号,成绩
    	from xs_kc,xsqk
    	where xs_kc.学号=xsqk.学号 and xs_kc.学号=@学号
    	go
    	exec YangYanmin '173601'
    	exec YangYanmin @学号='173602'
    	exec YangYanmin -----使用默认值执行存储过程
    	go
    
  • 使用输出函数
    —实例3:
    创建1个带有输入参数和输出参数的存储过程YanMin,返回指定课程名称(作为输入参数),所授课程的课程号(作为输出参数)。

    	create procedure YanMin                     -----创建存储过程
    	@课程名称 nchar(10),@课程号 char(5) output  
    	as select 课程名称=@课程名称 from kc
    	where 课程号=@课程号
    	go
    	declare @课程名称 nchar(10),@课程号 char(5)  -----声明:declare
    	set @课程名称='大学语文'                    -----输入实参,将参数传给存储过程
    	exec YanMin @课程名称,@课程号 output	    -----输出实参,将带回课程号
    	print @课程名称+@课程号
           go
    
发布了56 篇原创文章 · 获赞 51 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_43495629/article/details/104211759
今日推荐