Oracle11gr2新增CREATE OR REPLACE FORCE TYPE功能
在11.2中,Oracle增強了TYPE型別的依賴處理。
在以前的版本中,如果表或另一個物件依賴當前的物件,那麼這個物件是無法CREATE OR REPLACE的,在11.2中,這個限制被放寬,當依賴當前物件的物件是物件時,允許使用CREATE OR REPLACE FORCE來重建物件;如果依賴當前物件的物件是表,則新增的CREATE OR REPLACE FORCE功能也是無效的。
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> create type t_id_tab is table of number(10);
2 /
型別已建立。
SQL> create type t_id_tab_tab is table of t_id_tab;
2 /
型別已建立。
SQL> create or replace type t_id_tab is table of number(20);
2 /
create or replace type t_id_tab is table of number(20);
*
第 1 行出現錯誤:
ORA-02303: 無法使用型別或表的相關性來刪除或取代一個型別
SQL> create or replace type t_id_tab force is table of number(20);
2 /
型別已建立。
SQL> drop type t_id_tab;
drop type t_id_tab
*
第 1 行出現錯誤:
ORA-02303: 無法使用型別或表的相關性來刪除或取代一個型別
SQL> drop type t_id_tab force;
型別已刪除。
SQL> drop type t_id_tab_tab;
型別已刪除。
可以看到使用FORCE功能可以避免當前的TYPE被其他物件所依賴後而無法重建或刪除。不過這種依賴僅限於物件之間,如果依賴物件的是表,則FORCE功能不起作用:
SQL> create type t_type as object
2 (id number,
3 name varchar2(30));
4 /
型別已建立。
SQL> create table t_type_tab of t_type;
表已建立。
SQL> create or replace type t_type as object
2 (id number(5),
3 name varchar2(30));
4 /
create or replace type t_type as object
*
第 1 行出現錯誤:
ORA-02303: 無法使用型別或表的相關性來刪除或取代一個型別
SQL> create or replace type t_type force as object
2 (id number(5),
3 name varchar2(30));
4 /
create or replace type t_type force as object
*
第 1 行出現錯誤:
ORA-22866: 無法替換具有表相關性的型別
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-614847/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 11gr2增強CREATE OR REPLACE TYPE功能
- Oracle11gr2新增PARALLEL_FORCE_LOCAL引數OracleParallel
- Oracle11gr2新增版本功能(二)Oracle
- Oracle11gr2新增版本功能(一)Oracle
- Oracle11gr2新增版本功能(三)Oracle
- create or replace view 報許可權不足View
- Oracle11gr2觸發器新增版本升級功能(二)Oracle觸發器
- Oracle11gr2觸發器新增版本升級功能(一)Oracle觸發器
- create or replace package body DBMS_ASSERT wrappedPackageAPP
- rman backup database force 功能Database
- 精讀《Promise.all, Replace, Type Lookup...》Promise
- ReplaceableModel:為 Eloquent 模型新增 REPLACE 和 INSERT IGNORE 查詢功能模型
- a連結上新增location.replace不生效
- ORA-39117: Type needed to create table is not included in this operation
- Oracle11gr2新增APPEND_VALUES提示OracleAPP
- Oracle11gr2新增遞迴WITH語句(三)Oracle遞迴
- Oracle11gr2新增遞迴WITH語句(二)Oracle遞迴
- Oracle11gr2新增遞迴WITH語句(一)Oracle遞迴
- MM-step to create a new material type/valuation cloass//account category referenceGo
- JavaScript新增型別語法Type SyntaxJavaScript型別
- Oracle11gr2新增表的RESULT CACHE屬性Oracle
- Oracle11gr2新增ALTER DATABASE LINK語法OracleDatabase
- Oracle11gr2 AUDIT清除功能增強(三)Oracle
- Oracle11gr2 AUDIT清除功能增強(四)Oracle
- Oracle11gr2 AUDIT清除功能增強(二)Oracle
- Oracle11gr2 AUDIT清除功能增強(一)Oracle
- Oracle11gr2新增提示CHANGE_DUPKEY_ERROR_INDEXOracleErrorIndex
- Oracle11gr2物化檢視日誌新增PURGE語句Oracle
- Oracle11gr2新增提示IGNORE_ROW_ON_DUPKEY_INDEXOracleIndex
- jquery動態新增和刪除<input type="file" />jQuery
- House Of Force
- 使用create-react-app新增css modules、sasss和antdReactAPPCSS
- 新增 Nginx 為系統服務(service nginx start/stop/force-reload)Nginx
- jQuery動態新增或刪除<input type="file">元素jQuery
- HTML5--表單標籤input新增type值HTML
- Metasploit新增技巧提示功能
- 給httprouter新增pprof功能HTTP
- PostgreSQL新增UUID功能。SQLUI