回顾
建库的语法?
补充下列语句:
IF EXISTS(SELECT * FROM ? WHERE name='stuDB')
DROP DATABASE stuDB
建表的语法?
补充下列语句:
IF EXISTS(SELECT * FROM ? WHERE name='stuDB')
DROP TABLE stuInfo
目标
掌握如何定义变量并赋值
掌握如何输出显示数据
掌握IF、WHILE、CASE逻辑控制语句
理解SQL中批处理的概念
注释
SQL Server支持两种形式的程序注释语句:
单行注释语句:使用ANSI标准的注释符“--”,注释语句写在“--”的后面,只能书写单行。
多行注释语句:使用与C语言相同的程序注释符“/* */”,注释语句写在“/*”和“*/”之间,可以连续书写多行。
批处理-1
所谓批是指从客户机传送到服务器上的一组完整数据和SQL指令,批中的所有SQL语句做为一个整体编译成一个执行单元后从应用程序一次性地发送到SQL Server服务器进行执行,称之为批处理。
所有的批处理命令都使用GO作为结束标志,当T-SQL的编译器扫描到某行的前两个字符是GO的时候,它会把GO前面的所有语句作为一个批处理送往服务器。
由于批处理中的所有语句被当作是一个整体,因此若其中一个语句出现了编译错误,则该批处理内所有语句的执行都将被取消。
批处理-2
批处理是包含一个或多个 SQL 语句的组,从应用程序一次性地发送到SQL Server执行
SQL Server 将批处理语句编译成一个可执行单元,此单元称为执行计划。执行计划中的语句每次执行一条
客户端应用程序
SQL Server服务器
批处理语句:
语句1
语句2
……
GO
批处理-3
--第一个批处理打开Student数据库
USE Student
GO
--第二个批处理在Teachers表中查询姓王的教师的记录
SELECT * FROM Teachers
WHERE SUBSTRING(Teacher_name,1,1)= '王'
GO
批处理示例
批处理-4
SELECT * FROM Students
SELECT * FROM Student_course
UPDATE Student_course
SET Student_grade=Student_grade+2
GO
GO是批处理的标志,表示SQL Server将这些T-SQL语句编译为一个执行单元,提高执行效率
一般是将一些逻辑相关的业务操作语句,放置在同一批中,这完全由业务需求和代码编写者决定
批处理示例
批处理-5
--例如建表语句的末尾必须添加GO
CREATE TABLE stuInfo
(
....
)
GO
SQLServer规定:如果是建库、建表语句、以及我们后面学习的存储过程和视图等,则必须在语句末尾添加 GO 批处理标志
使用变量
变量分为:
局部变量:
局部变量必须以标记@作为前缀,如***@age
局部变量的使用也是先声明,再赋值
全局变量:
全局变量必须以标记@ @作为前缀,如@***@version
全局变量由系统定义和维护,我们只能读取,不能修改全局变量的值
局部变量
例如:
DECLARE ***@name varchar(8)
DECLARE ***@seat int
声明局部变量
DECLARE @变量名数据类型
赋值
SET @变量名=值
SELECT @变量名= 值
例如:
SET ***@name=‘张三’
SELECT ***@name=stuName FROM stuInfo
WHERE stuNo=‘s25302’
必须确保筛选出的记录只有1条
或
TSQL编程 来自淘豆网m.daumloan.com转载请标明出处.