复件 (2) 复件 T-SQL程序设计.ppt
文本预览下载声明
T-SQL程序设计;1、标识符;; 对于常规标识符,可以加上双引号或方括号,也可以不加。
“authors”表示一个表名称,因为该名称符合标识符的格式规则,因此在语句中可以不用双引号或中括号括起来。
SELECT * FROM authors
该语句等价于
SELECT * FROM authors
也等价于
SELECT * FROM [authors]
;2、变量;2.1局部变量;【例】定义变量@MyCounter为int类型:
DECLARE @MyCounter int
【例】定义变量@LastName为varchar(30)类型,定义变量@FirstName为varchar(20)类型,定义变量@State为char(2)类型:
DECLARE @LastName varchar(30),
@FirstName varchar(20),@State char(2);;(2)用SELECT语句给局部变量赋值:
格式: SELECT {@局部变量名 = 表达式}[,…n]
【例】定义局部变量@myvar1和@myvar2,并为它们赋值,最后显示@myvar1和@myvar2的值:
DECLARE @myvar1 char(20),@myvar2 char(20)
SELECT @myvar1 = Hello!, @myvar2 = How are you! --用SELECT赋值
SELECT @myvar1 as myvar1, @myvar2
--用SELECT显示;编写代码,查询单科成绩最高的学生的姓名。;;2.2 全局变量;;;@@CONNECTIONS
返回自上次启动以来连接或试图连接的次数。
@@CURSOR_ROWS
返回连接上最后打开的游标中当前存在的合格行的数量(返回被打开的游标中还未被读取的有效数据行的行数)
@@DATEFIRST
返回每周第一天的数字
@@ERROR
返回最后执行的SQL 语句的错误代码。
@@FETCH_STATUS
返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
@@IDENTITY
返回最后插入的标识值
@@LANGID
返回当前所使用语言的本地语言标识符(ID)。
@@LANGUAGE
返回当前使用的语言名。
;@@LOCK_TIMEOUT
返回当前会话的当前锁超时设置,单位为毫秒。
@@PROCID
返回当前过程的存储过程标识符 (ID) 。
@@ROWCOUNT
返回受上一语句影响的行数。
@@SERVERNAME
返回运行 的本地服务器名称。
@@SPID
返回当前用户进程的服务器进程标识符 (ID)。
@@TRANCOUNT
返回当前连接的活动事务数。
@@VERSION
返回当前安装的日期、版本和处理器类型。
@@CPU_BUSY
返回自SQL Server 最近一次启动以来CPU 的工作时间其单位为毫秒
@@ERROR
返回执行Transact-SQL 语句的错误代码
@@TRANCOUNT
返回当前连接中处于激活状态的事务数目;3、 运算符的优先次序;3、 运算符的优先次序;4、流程控制;IF(SELECT MAX(Sage) FROM Student WHERE Sdept=IS )20
BEGIN
PRINT年龄大于20岁的学生:
SELECT SDEPT,Max(SAGE)
FROM Student
WHERE Sdept=IS
GROUP BY SDEPT
END
ELSE PRINT没有年龄大于20岁的学生!;【例】已知pubs数据库的图书信息表titles中,表示书价的列为price,表示图书种类的列为type,表示书名的列为title。
编程序实现:如果mod_cook类图书的平均价格大于$15,就显示文本: Average title price is more than $15;否则给出提示“The following titles are excellent mod_cook books:”并列出相应的书名。;;;
declare @message varchar(255)
IF EXISTS(SELECT Sname FROM Student WHERE Sage20 )
BE
显示全部