1.声明变量
DECLARE @F001 SMALLINT,
@F002 INTEGER,
@F003 VARCHAR(20),
@F004 CHAR(20),
@F002 MONEY
2.赋值语句
set @F001 = space(40)
3.条件判断(IF...ELSE)
If condition Begin
[ statements ]
END
ELSE BEGIN
[ elseifstatements ]
END
4.多分支判断(case...when...then...else...end)
SET @F011 =
CASE
WHEN [testexpression1] THEN @F001
WHEN [testexpression2] THEN @F002
WHEN [testexpression3] THEN @F003
WHEN [testexpression4] THEN @F004
END
5.循环(while)
While condition Begin
[ statements ]
End
6.动态定义游标
SET @strSQL = ' DECLARE name_cursor CURSOR FOR ' + @inSQL
EXEC (@strSQL)
7.遍历游标
FETCH NEXT FROM name_cursor into @F001,@F002
WHILE @@FETCH_STATUS = 0 BEGIN
FETCH NEXT FROM name_cursor into @F001,@F002
END说明:FETCH_STATUS检索到数据返回0,失败返回-1,可判断是否滚动未到结尾。
8.获得游标行数
SET @RECCNT = @@ROWCOUNT
9.事务处理
BEGIN distributed transaction
WHILE @@TRANCOUNT > 0
commit transaction