欢迎来到天天文库
浏览记录
ID:9885443
大小:319.51 KB
页数:63页
时间:2018-05-12
《sqlserver编程基础及存储过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本章要点SQLServer编程基础游标的使用存储过程SQLServer编程基础6.1程序注释注释语句不是可执行语句,不参与程序的编译。注释语句通常是一些说明性的文字,对代码的实现方式及功能给出简要的解释和提示。两种形式的程序注释语句。--是单行写的注释语句/**/是多行的注释语句合法的注释语句:USE订货管理GO--第一行注释.--第二行注释SELECT*FROM职工/*第一行注释.第二行注释.*/SELECT*FROM仓库--在行尾加注释--在SQL语句中间加注释.SELECT职工号,/*仓库号,
2、*/工资FROM职工--注释语句包含着一个语法错误(不能包含GO):USE订货管理GOSELECT*FROM职工/*TheGO此注释执行时将出现错误*/SELECT*FROM仓库GO6.2批处理是从客户机传递到服务器上的一组完整的数据和SQL指令。一个批处理中,可以包含一条SQL指令,也可以包含多条SQL指令。批处理的所有语句被作为一个整体,进行成组的分析、编译和执行,是不可分割的。在一个批处理中存有一个语法错误,则所有的语句都无法通过编译。所有的批处理命令都使用GO作为结束的标志。--正确的批处理
3、。/*此批处理包含多个操作*/USE订货管理SELECT*FROM职工WHERE工资>1230ORDERBY工资DESCSELECT*FROM职工WHERE职工号=‘E1‘UPDATE仓库SET城市=‘兰州'WHERE仓库号=‘WH1'GO--下面的语句会产生一个语法错误USE订货管理--GoCREATEVIEW职工资料ASSELECT*FROM职工GOSELECT*FROM职工资料GO6.3局部变量SQLSever支持两种形式的变量1、局部变量:作用域局限在一定范围内的Transact-SQL对象
4、。局部变量可在一个批处理(存储过程或触发器)中被声明或定义,然后这个批处理内的SQL语句就可以设置这个变量的值,或者是引用这个变量已经赋予的值。当批处理结束后,这个局部变量也就随之消亡。2、全局变量:全局变量用来记录SQLServer服务器活动状态信息的一组数据。全局变量是SQLServer事先定义好,提供给用户使用的变量。全局变量是固定的,由系统提供的,用户不能参与定义,不能变动,只能拿来使用,对用户而言是只读的。6.3.1、声明局部变量DECLARE@MyCounterINT声明一个整数类型变量
5、,变量名为@MyCounterDECLARE@LastNameNVARCHAR(30),@FirstnameNVARCHAR(20),@Statenvarchar(2)可以在一个DECARE语句中声明多个变量6.3.2、为局部变量赋值方式有两种1、使用SELECT语句2、使用SET语句在使用局部变量的之前,要对变量赋值。如果事先不对变量赋值,变量将保持NULL的状态。这样使用时就没有结果。有时会产生严重的错误。--使用SELECT语句赋值--为变量直接赋值DECLARE@MyCounterINTSE
6、LECT@MyCounter=20GO--从“职工”的表中查询出一条数据赋值给已经声明的变量USE订货管理GODECLARE@StockNOvarchar(20)SELECT@StockNO=仓库号FROM职工WHERE职工号=‘E1'Print@StockNO--显示数据GO--如一个查询中返回了多个值,只有最后一个查询结果被赋给变量--使用SELECT语句赋值USE订货管理GODECLARE@WorkNOvarchar(20)SELECT@WorkNO=职工号FROM职工WHERE工资>=122
7、0print@WorkNOGo--在一条语句中为多个变量赋值,例如:--使用SELECT语句赋值USE订货管理GODECLARE@SalaryMAXINT,@SalaryMININTSELECT@SalaryMAX=MAX(工资),@SalaryMIN=MIN(工资)FROM职工print@SalaryMAXprint@SalaryMINGO--SELECT语句赋值功能和查询功能不能同时--混合使用,否则系统会产生错误信息。--使用SELECT语句赋值USE订货管理GODECLARE@SalaryM
8、AXINT,@SalaryMININTSELECT@SalaryMAX=MAX(工资),@SalaryMIN=MIN(工资),MIN(工资)FROM职工GO使用SET语句对变量进行赋值DECLARE@myvarchar(20)SET@myvar='Thisisatest'GO--依次赋值多个变量DECLARE@myvarlchar(20),@myvar2char(20),@myvar3char(20)SET@myvarl='Thisisatest'SET@myvar2
此文档下载收益归作者所有