天天看點

如何看懂達夢資料庫文法格式

      各位看官,是否有時在遇到不會寫的知識點時,明明從官網查到了指令,卻看得眼花缭亂,雲裡霧裡,依舊不會寫?是否面對文法的一大堆符号:[],{},|,<,>,(),::等各種符号看的頭大?

例如:達夢資料庫建立視圖的文法如下.

CREATE [OR REPLACE] VIEW
[<模式名>.]<視圖名>[(<列名> {,<列名>})]
AS <查詢說明>
[WITH [LOCAL|CASCADED]CHECK OPTION]|[WITH READ ONLY]; 
<查詢說明>::=<表查詢> | <表連接配接>
<表查詢>::=<子查詢表達式>[ORDER BY 子句]      

       如果不熟悉文法格式,哎呀呀,這可太讓人頭大了,CREATE 後面那個OR REPLACE要不要用?模式名怎麼外面有個<>符号,再外面還有一層中括号[],列名那裡更過分,大括号,逗号,小于号,大于号,括号,中括号各種符号接連在一起,看着就暈了。

      哈哈哈,其實不用害怕,這些都是有規律的,如果你掌握了規律,再也不用一次又一次的麻煩“大神”來教你,你也可以輕輕松松成為别人眼中的“大佬”。

       例如上面那個建立視圖的文法,我們從頭開始看,第一個符号是中括号,中括号表示的是,裡面的内容可以省略。當你需要用的時候才寫上,不需要用的時候不需要寫,

       第二個符号是<>,這個裡面的是變量,例如<模式名>,你的模式名是DMTEST,那就把<模式名>換成DMTEST,若是DMSQMPLE,那就是把<模式名>換成DMSAMPLE,外面嵌套一個中括号[],則表示該變量可以省略,僅當需要使用的時候加上,例如用的使用者是DMTEST,則在DMTEST模式下操作時候可以省略模式名及後面的點"DMTEST.",若使用SYSDBA使用者在DMTEST模式下建立視圖,則需加上DMTEST.後面的括号()和逗号,沒啥可說的,在中括号裡面的就可以省略,在中括号外面的不可省略。文法格式非常嚴謹,位置不能出錯,例如 [<模式名>.]<視圖名> 這一段,如果将點.的位置寫到中括号外面,那就表達的是另外一個意思,表示若省略模式名,則後面的點.必須寫上而不能省略。

        再後面是管道符 | ,這個符号表示”或“,可以選擇其一。例如以上文法中WITH [LOCAL|CASCADED] ,按我們的需求寫WITH LOCAL或WITH CASCADED,若有多個,則多個任選其一,不能多寫。若外面還有中括号[],則表示可全部省略或任寫其一,不可多寫。