首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >终止Oracle SQL中的分号

终止Oracle SQL中的分号
EN

Stack Overflow用户
提问于 2012-11-10 23:08:55
回答 2查看 1.5K关注 0票数 2

我最近开始学习Oracle SQL,对于终止分号是否是必需的(或者,实际上,它是否是您正在使用的特定数据库程序的一个特性)感到有点困惑。

在工作中,我必须使用DBVisualizer,并且总是有一个终止分号,但在“Oracle SQL by Example”这本书中,它一直是缺少的。有没有人能开导一下我?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-11-11 00:30:31

dba.stackexchange的Here也是一个类似的问题。被接受的答案指出,本地实例的命令在返回时执行,而服务器的多行命令在分号上执行。

票数 2
EN

Stack Overflow用户

发布于 2012-11-11 00:46:38

分号是终止符还是分隔符的问题在计算机语言中已经有40多年的历史了。比较Pascal和Java。

如果在SQL中接受分号作为分隔符,那么在interactive sql中可能不需要分号,就像在Oracle的SQL/plus解释器中一样。但是SQL解析器确实有它的工作要做。SQL显然不是为了简化解析器的编写而设计的。

请考虑以下内容:

代码语言:javascript
运行
复制
select 
    College_Name,
    City
from 
    Colleges

解析器如何知道命令不会继续执行下面的内容?

代码语言:javascript
运行
复制
where
     State = 'CA'

如果还可以输入由某种开始-结束对括起来的一系列命令,那么解析器的工作就会变得更加困难。分号对解析器有很大的帮助。

在交互式SQL的某些方言中,按两次Enter键可以触发执行。在另一些情况下,使用像"go“这样的特殊命令来实现此目的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13323205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档