存储过程笔记 @为局部变量定义 @@为全局变量定义 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