文档介绍:SQL Server 存储过程和触发器主要内容?Transact-SQL 编程基础?事务管理?游标?存储过程?触发器 1 Transact-SQL 编程基础?标识符、运算符、变量?函数?流程控制语句?GOTO 语句?RETURN 语句?打印输出语句?注释语句标识符?标识符是由用户定义的有意义的可识别的字符序列,通常用来标识服务器、数据库、数据库对象、常量、变量等?命名标识符时必须遵循以下规则?第一个字符必须是下列字符之一: ?字母、下划线(_) 、@或者# ?后续字符可以是: ?字母、数字、_、#、$、@等符号?不能使用 SQL 中的关键字和运算符,不允许嵌入空格或其它特殊字符运算符?算术运算符?+ , - ,*, / ,% ?赋值运算符?= ?比较运算符?= , > , < , >= , <= , <> ?逻辑运算符? and , or , not ? Between … and , In, Like , Exists ?连接运算符?+ 用于字符串数据的连接运算符的优先顺序?*、/、% ?+、- ?=、>、<、>=、<=、<> ?not ?and ?between 、in、like 、or ?= 算术运算符比较运算符逻辑运算符赋值运算符变量?局部变量?由用户定义和使用,可赋值并参与运算?作用域批处理、触发器、存储过程?声明 declare @变量名数据类型[,…] ?赋值 select @ 变量名=值或 SET @ 局部变量名=表达式【例 1】 DECLARE ***@x float, @ var char(8) 该定义语句定义了变量 x是浮点实型,变量 var 是长度为 8 的定长字符数据类型。【例2】定义变量 c_code 和score ,并分别用 SET 和 SELECT 语句为它们赋值,然后查询所有课程号为 c_code ,且成绩小于 score 的学生成绩信息。 DECLARE @ c_code char(6), ***@score Numeric(3,1) SET @ c_code ='130001' SELECT ***@score=80 SELECT * FROM T_Grade WHERE CourseCode =@ c_code AND Grade<***@score 图 4-51 变量查询示例 1 【例3】将学号为“05101103 ”的学生姓名存放到变量@ sname 中。 DECLARE @ sname varchar(16) SELECT @ sname = (SELECT StudentName FROM T_Student WHERE StudentCode ='05101103') SELECT @ sname as ' 姓名'变量(续) ?全局变量?由系统定义与维护?作用?跟踪服务器范围和特定会话期间的信息?不能显式声明或赋值?变量名前必须有@@ ?值查看方式? Select @@ 变量名