2012-09-03 57 views
2

我在甲骨文10g快捷版的代碼,這部分:插入SQL命令錯誤的人品問題

CREATE TABLE SALARY (
    GRADE    number(1), 
    LOSAL    number(4), 
    HISAL    number(4)); 

    INSERT INTO SALARY VALUES (1,700,1200); 
    INSERT INTO SALARY VALUES (2,1201,1400); 
    INSERT INTO SALARY VALUES (3,1401,2000); 
    INSERT INTO SALARY VALUES (4,2001,3000); 
    INSERT INTO SALARY VALUES (5,3001,9999); 

,我要像一個SQL命令輸入它的問題是,當我點擊運行按鈕,我得到了以下信息:

ORA-00911:無效字符

我已經檢查語法,但一切似乎都很正常,沒有任何人看到任何錯誤?

回答

1

你提的Oracle快捷。您是否使用網頁前端(通過瀏覽器)來運行這些語句?

如果是這樣的話:網頁前端確實是而不是允許一次運行多個語句。

您需要在使用Oracle Express的Web前端時分別運行每個語句。

Oracle的SQL Developer是免費的,並且作爲SQL工具更好。或者使用SQL * Plus或使用任何外部的許多SQL客戶端。

0

複製記事本中的所有內容,然後從記事本複製它並再次將其粘貼到查詢分析器中。在記事本中粘貼 將刪除任何隱藏的特殊字符。

1

該部分代碼由六個格式正確的語句組成,但它不包含而不是由一個正確格式化的語句組成。你需要分別運行每個語句。 (順便說一下,它所抱怨的「無效字符」是前兩個語句之間的分號;。它刪除最後一個語句末尾的分號,因爲它可以告訴它是語句的結尾,但是它不會刪除語句之間的分號,因爲據知它們處於一個大聲明中間。)

0

您需要在插入語句後編寫commit;語句...希望它能解決您的問題。

-1

當我嘗試創建表,並通過我們的代碼它已成功完成插入值。

SQL> CREATE TABLE SALARY (
    2  GRADE    number(1), 
    3  LOSAL    number(4), 
    4  HISAL    number(4)); 

Table created. 

SQL> 
SQL> INSERT INTO SALARY VALUES (1,700,1200); 

1 row created. 

SQL> INSERT INTO SALARY VALUES (2,1201,1400); 

1 row created. 

SQL> INSERT INTO SALARY VALUES (3,1401,2000); 

1 row created. 

SQL> INSERT INTO SALARY VALUES (4,2001,3000); 

1 row created. 

SQL> INSERT INTO SALARY VALUES (5,3001,9999); 

1 row created. 

請嘗試之一,看看

+0

我不認爲OP是使用SQL * Plus。 –

+0

@JeffreyKemp我已經在sql * plus中運行以下命令並且命令正在成功運行 –

+0

幹得好!我一點也不驚訝...... –

0

我懷疑你想要把整個事情在一個匿名PL/SQL塊和運行,IEI希望它應該工作,如果沒猜錯

BEGIN 

    INSERT INTO SALARY VALUES (1,700,1200); 
    INSERT INTO SALARY VALUES (2,1201,1400); 
    INSERT INTO SALARY VALUES (3,1401,2000); 
    INSERT INTO SALARY VALUES (4,2001,3000); 
    INSERT INTO SALARY VALUES (5,3001,9999); 

END; 
0

號(P)指正 這是一個定點數,精度爲p,刻度爲0.相當於NUMBER(p,0)

數字在oracle中的最大數量範圍爲1到38,可能是您的錯誤問題。

這可能對你有幫助... http://ss64.com/ora/syntax-datatypes.html