2015-09-03 75 views
1

Oracle。oracle alter type編譯錯誤

我有類型如下

create or replace 
type string_varray as varray(200) of varchar2(1000); 

我想增加VARRAY的大小從200到1000我嘗試下面的語句沒有工作對我來說

alter type string_varray MODIFY (varray(1000) of varchar2(1000)) cascade; 

Error 
Error starting at line 4 in command: 
alter type string_varray MODIFY (varray(1000) of varchar2(1000)) cascade 
Error report: 
SQL Error: ORA-22324: altered type has compilation errors 
ORA-22328: object "DSC_APP"."STRING_VARRAY" has errors. 
PLS-00103: Encountered the symbol "(" when expecting one of the following: 

    limit element 
22324. 00000 - "altered type has compilation errors" 
*Cause: The use of the ALTER TYPE statement caused a compilation error. 
*Action: Correct the error reported and resubmit the statement. 

回答

1

試試這個 -

alter type string_varray modify limit 1000; 

您正在使用的語法將像這樣增加元素大小 -

alter type string_varray modify element type varchar2(2000) cascade; 
+0

如果我嘗試通過改變類型來減小字符串string_varray修改限制500級聯;我得到一個錯誤,VARRAY的限制只能增加到2147483647 –