簡體   English   中英

在Oracle中執行腳本時,nextval不起作用

[英]The nextval does not work when executing script in Oracle

我正在運行以下腳本:

INSERT INTO Schema.columna (id_columna, n_nivel, n_esprincipal, s_cbasedatos, 
s_cmostrar, n_orden, n_tamano, n_formato, n_nivelorden, n_totaliza, 
n_esexpandible, n_cuenta, n_esvisible)
VALUES(sq_COLUMNA.nextval, 100022, 0, 'NOMBRESECTOR', 'NOMBRE SECTOR', 1, 25, 
 3, 1, 0, 0, 0, 1);

但它會拋出以下錯誤:ORA-02289:序列不存在

sq_Columna序列的腳本如下所示:

CREATE SEQUENCE  "Schema"."sq_COLUMNA"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE   ;

為什么它說錯誤序列不存在? 我們應該創建一個觸發器? 我沒有oracle的經驗

如果序列存在且用戶具有權限,則使用引號解決它。 例:

 select sq_COLUMNA.nextval from dual;--> Throughs error ORA-02289
 select "sq_COLUMNA".nextval from dual;--> gives nextval

引用:“帶引號的標識符以雙引號(”)開頭和結尾。 如果使用帶引號的標識符命名模式對象,則每次引用該對象時都必須使用雙引號。“

參考: https//docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF51129

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM