存储过程笔记
@为局部变量定义
@@为全局变量定义
1.可传参数的存储过程例子(传入参数)
表:person
字段名:id name age sex
----------------------------
1 张三 28 男
2 李四 25 男
3 王五 23 女
存储过程实例:
----------------------------------------------
-- 建立名为selectInfo的存储过程,版本为1
CREATE PROCEDURE selectInfo;1
-- 设置一个要传入的参数字符串类型的name
@name varchar(10)
AS
BEGIN
-- 查询出所有参数为@name的记录
select * from person where name=@name
END
GO
-- 执行存储过程selectInfo并且传name参数为‘张三’的所有记录
exec selectInfo '张三'
----------------------------------------------
2.可传参数的存储过程例子(传出参数)OUTPUT
----------------------------------------------
CREATE PROCEDURE selectInfo2
-- 设置全局变量count,并且为输出参数
@@count int OUTPUT
AS
BEGIN
select @@count = count(id) from person where name='张三'
END
-- 执行存储过程
exec selectInfo2
-- 返回结果
@@count
----------
3
Return Value
---------------
0
=================================================================
Transact-Langage语言语法
1.局部变量定义
* 定义关键字:declare
* 名称的第一个字符必须为@
例:
declare @myvar int
* 赋值通过set 或select
例:建立表testTable,在表中插入数据0-25,a-z
---------------------------------------------------
Create Table testTable (_num Int, _char Char(3))
Declare @myCounter Int --定义整型变量@myCounter
Set @myCounter = 0 --计数器myCounter初值
While(@myCounter <26)
Begin
Insert Into testTable Values
(@myCounter, Char( (@myCounter + ASCII('a') ) )
set @myCounter = @myCounter + 1
End
2. 流程控制语句
*If ... else
if @@rowcount = 0
print 'Warning!'
else
print 'Note!'
*语句块:
Begin
语句块
End
* While
Begin
...
Break
...
Continue
End