- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 SQL 程序设计1
SQL 程序设计
批处理、脚本、事物
9.1.1批处理
k个语句组成的语句组称为一个批处理。一个批处理以关键字GO为结束标志。如
例9.1,统计学生人数和男女生人数
Use 学生选课系统
Select 学生总人数=count(*) from 学生基本情况表
Go
Select 性别,学生总人数=count(*) from 学生基本情况表
Group by 性别
Go
(1)解释:USE 数据库A 其功能是选中数据库A 并打开它。
(2)批处理的执行过程:设应用程序A由k个批处理组成,系统的执行过程是:将第一个批处理调入内存、语法检查、编译、执行、释放内存。对第二个批处理作同样的处理,直到最后一个批处理执行完毕。
(3)批处理的优点:如果一个应用程序很长,例如1000行。如果不采用批处理,那么,必须同时将这1000行程序调入内在,进行语法检查,编译、执行。这将花费很大的内存,对机器的要求较高。但如果采用批处理,例如,每次调入50行程序进入内存,进行语法检查、编译、执行、释放内存空间。再处理下一个批处理,这样,所占用的内存较小,使得机器可以处理更大的问题。
二变量
9.2 变量与临时表
C中有全局变量与局部变量的概念,SQL SERVER 2005 中也同样有全局变量与局部变量的概念.所不同的是,C 中,用户可定义全局变量与局部变量,但SQL SERVER 2005 中,只允许用户定义局部变量,不允许用户定义全局变量。全局变量是系统自带的,有特定的赋值。
9.2.1 全局变量
全局变量是系统自带的变量,不能由用户来定义。用户只能定义局部变量。全局变量以二个@@开头.
SQL SERVER 2000 自带有33个全局变量,每个全局变量有和的赋值。这里我们给出几个:
全局变量 数据类型 功能 @@Version Nvarchar 返回当前版本的信息 @@error Nvarchar 返回最后执行语句的代码 @@servername Nvarchar 返回SQLSER本地服务器的名称 同学们在实习中可以体会这些全局变量的取值情况。
Go
/*例9.4,利用全局变量查看本机所使用的SQL 版本信息,当前服务器名称*/
Use 教学
Print 当前的SQL server版本信息如下:
Print @@version --显示版本信息
Print 当前工作的服务器的名称是:
print @@servername --显示服务器名称
Go
执行结果:
当前的SQL server版本信息如下:
Microsoft SQL Server 2000 - 8.00.194 (Intel X86)
Aug 6 2000 00:57:48
Copyright (c) 1988-2000 Microsoft Corporation (9--1)
Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
当前工作的服务器的名称是:
AF418C173E48419 (9--2)
全局变量对于用户而言,是只读变量,它的值是由DBMS自动装入的。(9--1)、(9--2)是全局变量@@version与@@servername的值。
9.2.2 局部变量
局部变量是由用户定义的变量,其作用域只限于它所定义的存储过程、函数、批处理之中。
局部变量定义的一般格式: Declare @变量名 数据类型
给局部变量赋值有二种方法,分别使用关键字Set 与 Select:
Set @变量名=表达式
Select @变量名=表达式 from 表名 where 条件表达式
例9.5—1,以不同方式给局部变量赋值,批处理如下
Declare @sname char(16) --定义一个变量’
Set @sname=张家口 --使用Set赋值
Print @sname --显示变量的当前值
Select @sname=Sname from Student
Where Sno=S0807001 --使用SELECT 语句给变量赋值
Print @sname --显示当前的值
Go
执行结果:
张家口
张红
/*例,局部变量作用域实验*/
Declare @sname char(16) --定义一个变量’
Set @sname=张家口 --使用Set赋值
Print @sname --显示变量的当前值
Select @sname=Sname from
您可能关注的文档
最近下载
- 急性胰腺炎护理查房课件(完整版).pptx VIP
- 如何做合格的研究生导师.ppt VIP
- GB50084-2001(2005版)自动喷水灭火系统设计规范.docx VIP
- 绿色“垃圾不落地城市更美丽”节能环保树立垃圾分类新观念PPT模板课件.pptx VIP
- 铁路栅栏改移重点项目施工专项方案.doc
- ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.8.pdf VIP
- 精品解析:北京市八中2023-2024学年九年级上学期期中考试物理试题(解析版).docx VIP
- 大数据互联网科技PPT模板 .pptx VIP
- (人教版)九年级英语第一次月考试卷(含答案).pdf VIP
- 隐球菌性脑膜炎护理.pptx VIP
文档评论(0)