2013-08-29 90 views
2

爲什麼當像sqlplus <connect> @file甲骨文sqlplus的意見

INSERT INTO abc (a 
       ,b 
       ,c) 
     VALUES ('1' --a 
       ,'2' --b 
       ,'3'); --c 

執行不以下INSERT語句不工作,但它的工作原理沒有評論即

INSERT INTO abc (a 
       ,b 
       ,c) 
     VALUES ('1' 
       ,'2' 
       ,'3'); 

是否sqlplus的拼合文件即在執行整個事情一條線?這可能導致該行的其餘部分被註釋掉?

回答

9

拳頭insert聲明沒有工作只是因爲您最後的評論--c你已經放在聲明結束符之後。 SQL * Plus在語句終止符後面不允許任何文本(在這種情況下爲';'分號)。所以這個版本的第一insert語句將成功執行:

INSERT INTO abc (a 
       ,b 
       ,c) 
     VALUES ('1' --a 
       ,'2' --b 
       ,'3'); 

那麼這將會之一:

INSERT INTO abc (a 
       ,b 
       ,c) 
     VALUES ('1' --a 
       ,'2' --b 
       ,'3') --c;