存储过程笔记

存储过程笔记

@为局部变量定义
@@为全局变量定义

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

  

原文地址:https://www.cnblogs.com/cyjch/p/2340422.html