T-SQL 存储过程
T-SQL语法与SQL类似有部分不同
- 创建存储过程
完整的语法为:
create procedure procedure_name
[
{@parameter data_type} [output]
]
as
sql_statement […n]
以学生表以及成绩表sc为例,创建存储过程getGrade,通过输出参数返回指定同学指定课程的成绩
if (exists (select * from sys.objects where name = 'getGrade'))
drop proc getGrade
go
--以上语句为删除数据库中已有的存储过程
--create proc 存储过程名称
create proc getGrade
--@表sc的参数 数据类型
@sno char(10),@cno char(20),@grade float output
as
--通过输出参数返回指定同学指定课程的成绩
begin
select @grade = grade from sc
where sno = @sno and cno = @cno
end
go
执行语句查询相关成绩的操作为
declare @grade float
exec getGrade 'G2016001','B008',@grade output
print @grade
个人总结:存储过程有点类似一个封装好的函数,给定输入得到输出,begin end中间的语句与基础的DML select近似相同,在这个过程中用到什么参数就在前面@那里添加什么参数。