1、 SELECT x; SET y=Goodbye Cruel World; select y; SET z=1+2+3; select z;2、 在存储过程中使用用户变量 CREATE PROCEDURE GreetWorld( ) SELECT CONCAT(greeting, World); SET greeting=Hello CALL GreetWorld( );3、 在存储过程间传递全局范围的用户变量 CREATE PROCEDURE p1( ) SET last_procedure=p1 CREATE PROCEDURE p2( ) SELECT CONCAT(Last proce
2、dure was ,last_procedure); CALL p1( ); CALL p2( );三、运算符:1.算术运算符+ 加 SET var1=2+2; 4- 减 SET var2=3-2; 1* 乘 SET var3=3*2; 6/ 除 SET var4=10/3; 3.3333DIV 整除 SET var5=10 DIV 3; 3% 取模 SET var6=10%3 ;2.比较运算符 大于 12 False 小于 21 False= 小于等于 2BETWEEN 在两值之间 5 BETWEEN 1 AND 10 TrueNOT BETWEEN 不在两值之间 5 NOT BETWEEN
3、 1 AND 10 FalseIN 在集合中 5 IN (1,2,3,4) FalseNOT IN 不在集合中 5 NOT IN (1,2,3,4) True 等于 2=3 False, ! 不等于 2 严格比较两个NULL值是否相等 NULL (greater than). (less than). = (equals). = (less than or equal to). = (greater than or equal to). != (not equal to). (not equal to). (not less than). (not greater than). 没什么说的 七
4、.语句块:Begin end 将多条语句作为一个块,类似与C+,C#中的 Begin Set ID1 = (select 1) Set ID2 = (select 2) End 八.If, ifelse IF Boolean_expression sql_statement | statement_block ELSE sql_statement | statement_block If id is not null Print id is not null if ID = 1 begin Set ID = (select 1 + 1) end else set ID=(select 1+2)
5、 上面的例子用到了比较操作符,语句块,和IF的语法。九.执行其他存储过程 EXEC 例如 EXEC dbo.Sales by Year Beginning_Date=1/01/90, Ending_Date=1/01/08 十.事务 BEGIN TRANSACTION transaction_name | tran_name_variable BEGIN TRAN - 做某些操作,例如Insert into if error 0 BEGIN ROLLBACK TRAN END COMMIT TRAN 十一.游标 我们可以在存储过程中用Select语句取出每一行数据进行操作,这就需要用到游标。D
6、ECLARE cursor_name CURSOR LOCAL | GLOBAL FORWARD_ONLY | SCROLL STATIC | KEYSET | DYNAMIC | FAST_FORWARD READ_ONLY | SCROLL_LOCKS | OPTIMISTIC TYPE_WARNING FOR select_statement FOR UPDATE OF column_name ,.n DECLARE au_id varchar(11), au_fname varchar(20) 申明变量 -申明一个游标 DECLARE authors_cursor CURSOR FOR SELECT au_id, au_fname FROM authors -打开游标 OPEN authors_cursor -取出值 FETCH NEXT FROM authors_cursor INTO au_id,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1