在Oracle SQL中终止分号

时间:2012-11-10 15:08:55

标签: sql oracle

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

在工作中,我必须使用DBVisualizer,并且总是有一个终止分号,但在“Oracle SQL by Example”一书中,它始终缺乏。有人可以赐教吗?感谢。

2 个答案:

答案 0 :(得分:2)

Here是来自dba.stackexchange的类似问题。接受的答案表明,返回时本地实例的命令执行,而服务器的多行命令以分号执行。

答案 1 :(得分:1)

40多年来,分号是终结者还是分隔符的问题在计算机语言中是一个混乱的问题。比较Pascal和Java。

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

考虑一下:

select 
    College_Name,
    City
from 
    Colleges

解析器如何知道命令不会继续以下内容?

where
     State = 'CA'

如果还可以输入一系列由某种起始端对括起来的命令,那么解析器就会变得更难。分号极大地帮助了解析器。

在交互式SQL的某些方言中,按两次Enter键可以触发执行。在其他情况下,像“go”这样的特殊命令用于此目的。

相关问题