- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章要点;SQL Server 编程基础;合法的注释语句:
USE 订货管理
GO
--第一行注释.
--第二行注释
SELECT * FROM 职工
/*第一行注释.
第二行注释.*/
SELECT * FROM 仓库 --在行尾加注释
--在SQL语句中间加注释.
SELECT 职工号, /* 仓库号 ,*/ 工资
FROM 职工; --注释语句包含着一个语法错误(不能包含GO):
USE 订货管理
GO
SELECT * FROM 职工
/*The
GO
此注释执行时将出现错误*/
SELECT * FROM 仓库
GO;6.2 批处理
是从客户机传递到服务器上的一组完整的数据和SQL指令。
一个批处理中,可以包含一条SQL指令,也可以包含多???SQL指令。
批处理的所有语句被作为一个整体,进行成组的分析、编译和执行,是不可分割的。
在一个批处理中存有一个语法错误,则所有的语句都无法通过编译。
所有的批处理命令都使用GO作为结束的标志。;--正确的批处理。
/*此批处理包含多个操作*/
USE 订货管理
SELECT * FROM 职工
WHERE 工资1230
ORDER BY 工资 DESC
SELECT * FROM 职工
WHERE 职工号 =‘E1‘
UPDATE 仓库
SET 城市 =‘兰州
WHERE 仓库号 =‘WH1
GO;--下面的语句会产生一个语法错误
USE 订货管理
--Go
CREATE VIEW 职工资料
AS
SELECT * FROM 职工
GO
SELECT * FROM 职工资料
GO;6.3 局部变量
SQL Sever支持两种形式的变量
1、局部变量:作用域局限在一定范围内的Transact-SQL对象。局部变量可在一个批处理(存储过程或触发器)中被声明或定义,然后这个批处理内的SQL语句就可以设置这个变量的值,或者是引用这个变量已经赋予的值。
当批处理结束后,这个局部变量也就随之消亡。
2、全局变量:全局变量用来记录SQL Server 服务器活动状态信息的一组数据。
全局变量是SQL Server事先定义好,提供给用户使用的变量。
全局变量是固定的,由系统提供的,用户不能参与定义,不能变动,只能拿来使用,对用户而言是只读的。;6.3.1、声明局部变量
DECLARE @MyCounter INT
声明一个整数类型变量,变量名为
@ MyCounter
DECLARE @LastName NVARCHAR (30),
@Firstname NVARCHAR(20),
@State nvarchar(2)
可以在一个DECARE语句中声明多个变量;6.3.2、为局部变量赋值
方式有两种
1、使用SELECT语句
2、使用SET语句
在使用局部变量的之前,要对变量赋值。
如果事先不对变量赋值,变量将保持NULL的状态。这样使用时就没有结果。有时会产生严重的错误。 ;--使用SELECT语句赋值
--为变量直接赋值
DECLARE @MyCounter INT
SELECT @MyCounter = 20
GO
;--从“职工”的表中查询出一条数据赋值给已经声明的变量
USE 订货管理
GO
DECLARE @StockNO varchar(20)
SELECT @StockNO = 仓库号
FROM 职工
WHERE 职工号 = ‘E1
Print @StockNO --显示数据
GO;--如一个查询中返回了多个值,只有最后一个查询结果被赋给变量
--使用SELECT语句赋值
USE 订货管理
GO
DECLARE @WorkNO varchar(20)
SELECT @ WorkNO = 职工号
FROM 职工
WHERE 工资=1220
print @ WorkNO
Go;--在一条语句中为多个变量赋值,例如:
--使用SELECT语句赋值
USE 订货管理
GO
DECLARE @SalaryMAX INT,
@SalaryMIN INT
SELECT @SalaryMAX=MAX(工资),
@SalaryMIN=MIN(工资)
FROM 职工
print @SalaryMAX
print @SalaryMIN
GO;--SELECT语句赋值功能和查询功能不能同时
--混
文档评论(0)