存储过程基本语法
存储过程可以看作是在数据库中sql语句的集合,通过执行存储过程来达到对数据库的操作,它实现功能和sql语句实现的功能是一样的,但是两者在语法上有很大不同,下面介绍存储过程的用法。
1. 声明变量
在存储过程中声明变量用declare关键字语法如下:
Declare
{
@variableName datatype
}
示例:
Declare @StudentID int
说明:
声明一个@ StudentID变量,其类型为int ,当然也可以在代码旁进行注解,其注解后的代码为:
Declare
{
@variableName datatype --声明一个@ StudentID变量,其类型为int
}
2. 打印变量
在sqlserver中是实现打印功能,用到的是关键字print,其语法简单的为
Print @ variableName
这样就可以在sqlserver中打印出变量为@ variableName的数值
3. 变量赋值
变量赋值用到的关键字是set,和sql语句中的update语法中的set意思一样,下面就可以以上两点写一个小例子:
Declare @ StudentID
Set @StudentID=(select studentID from Student );
Print @ StudentID
说明:整个小例子意思是从数据库表student中查出字段为 studentID 的值赋给studentID,然后打印出studentID 的值。
在存储过程中不能直接给变量赋值,如果实现给变量赋值,可以这样实现:
Declare @ StudentID
Set @StudentID=(select 1 );
Print @ StudentID
说明:在存储过程中也是要先声明再使用的原则,这里的set部分就是实现的将1这个字符赋值给@StudentID,那 set @StudentID=(select 1 +1); 是什么意思,想必心中已有答案,下面介绍变量的运算符号
4. 运算符
存储过程的运算符包括+ ,—,*,/。和我们常数中用到的符号实现功能一致
举例:
Set @sum=(select 2+2);--你懂的
Set @de=(select 8-2);--你懂的
Set @sum=(select 9+@sum);--自加
5. 常用的一些操作符号
操作符号和常数用的意思都是一样的,比如 :
>(大于).
<(小于).
= (等于).
<= (小于等于)
>= (大于等于).
!= (不等于).
<>(不等于).
!< (不小于).
!> (不大于).
不做阐述
6. 语句块
语句块就是固定语法的结构,同时了解代码的所属关系,让存储过程更加清晰明朗,其作用和c#中的{}类似语法是:
Begin end 其中间部分放入需要执行的代码如下例:
Begin
Declare @ StudentID
Set @StudentID=(select 1 );
Print @ StudentID
End