2012-11-10 37 views
2

我最近開始學習Oracle SQL,對於是否需要終止分號有點困惑(或的確,它是否是您使用的特定數據庫程序的一個功能)。在Oracle SQL中終止分號

在工作中,我必須使用DBVisualizer,並且總是有一個終止分號,但在「Oracle SQL by Example」一書中,它總是缺乏。有人可以請賜我嗎?謝謝。

回答

2

Here是與dba.stackexchange類似的問題。接受的答案指出,對本地實例的命令在返回時執行,而對服務器的多行命令則以分號執行。

1

四十多年來,分號是終結符還是分隔符的問題在計算機語言中一直是一個混亂的問題。比較Pascal和Java。

如果您在SQL中接受分號作爲分隔符,那麼在交互式sql中可能不需要它,就像在Oracle的SQL/plus解釋器中一樣。但是,一個SQL解析器確實已經完成了它的工作。 SQL顯然不是爲了讓編寫解析器變得容易。

考慮這個問題:

select 
    College_Name, 
    City 
from 
    Colleges 

如何解析器知道命令不會繼續下面的?

where 
    State = 'CA' 

如果命令序列,通過某種開始,結束對括號,也可以進入,事情變得更加困難解析器。分號極大地幫助解析器。

在一些交互式SQL語言中,按兩次Enter鍵可以觸發執行。在其他情況下,爲了這個目的,使用像「go」這樣的特殊命令。