T-SQL中批处理有什么作用

T-SQL中批处理有什么作用?难道sqlservermanagementstudio不是按照sql语句出现的先后顺序依次执行我们写的sql命令吗?例如:createdat... T-SQL中批处理有什么作用?难道sql server management studio不是按照sql语句出现的先后顺序依次执行我们写的sql命令吗?例如:
create database 学生
use 学生
--以上语句在sql server下有错
create database 学生
GO
use 学生
--以上语句正确
为什么会出现这种结果?按书上的解释是,在use 学生时,必须需要前一条语句
create database 学生被执行,但是如果不加GO的话,sql server顺序向下执行
,先执行“create database 学生”,接着执行“use 学生”,那么在use 学生时,
“create database 学生”不也已经执行了吗?
展开
 我来答
百度网友cb9ca12
2012-12-17 · TA获得超过109个赞
知道答主
回答量:60
采纳率:0%
帮助的人:50.4万
展开全部
定义:批处理是T-SQL语句集合的逻辑单元
特点:(1)在批处理的所有语句被整合成一个执行计划,一个批处理内的所有语句要么被放在一起通过解析,要么没有一句能够执行。
(2)多个批处理:每一个批处理都会被独立执行,每个批处理的错误不会阻止其它批处理的运行。
用途: 批处理有多种用途,但常被用在某些事情不得不放在前面发生,或者不得不和其它事情分开的脚本中。
GO是一个批处理结束的标识,比如有这么写语句CREATE......... INSERT....... UPDATE...... GO
如果你不加这个GO,那T-SQL是一条一条顺序执行的,如果加了GO,这几条语句就构成一个批处理块。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
旅谷之PO
2012-12-12 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:134万
展开全部
偶以为

GO代表一个批处理的结束,

每个 GO 执行之前会检查语法,语义,对象等等,

木有GO ,就木有生成 database ‘学生', 检查过不了,报错

有了GO,处理完第一个批有了'学生',再检查第二个批的语法,再执行
追问
也只好这么理解了,另外,"木有GO ,就木有生成 database ‘学生', 检查过不了,报错"这里的检查是在哪里检查?怎么检查?是到硬盘上去检查吗?
追答
当 SQL Server 可以开始处理查询语句时,SQL Manager 要在缓存内进行查找,如果没有找到该语句,则必须编译该语句。编译处理要完成以下几件工作。首先,要进行分析和正常化。分析就是剖析该 SQL 语句,将其转换成更适合计算机处理的数据结构。分析还要验证语法的正确性。分析不进行表名和列名合法性等检查,这些工作在正常化阶段完成。正常化主要是解析 SQL 语句中引用的对象,转换成实际的数据库对象,检查请求的语义是否有意义。例如,试图执行一个表,这在语义上就是错误的。
  下一步是编译 Transact-SQL 代码。Transact-SQL 和 SQL 本身都让人有点儿困惑,Microsoft 的开发人员也像别人一样经常互换两个词。但是,这两者之间还是有重要差别的。SQL 包括所有 DML 语句:INSERT、UPDATE、DELETE 和 SELECT。SQL Server 还有一种包括这些 DML 语句的语言,称为 Transact-SQL,也就是 TSQL。TSQL 提供过程结构:IF 语句、WHILE 语句、局部变量声明等。服务器内部对 SQL 和 TSQL 的处理方法完全不同。TSQL 的过程逻辑要由知道如何进行过程化处理的引擎来编译。

你可以看下这个文章
原文链接:http://server.chinabyte.com/232/2603732.shtml
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式