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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ReplaceableModel:為 Eloquent 模型新增 REPLACE 和 INSERT IGNORE 查詢功能模型
- 精讀《Promise.all, Replace, Type Lookup...》Promise
- a連結上新增location.replace不生效
- Vivado使用技巧(3):Force Up-to-Date功能
- JavaScript新增型別語法Type SyntaxJavaScript型別
- Replace
- 使用create-react-app新增css modules、sasss和antdReactAPPCSS
- House Of Force
- Python 3.10 新增功能Python
- JavaScript replace()JavaScript
- replace()用法
- replace方法
- ACID(Force & Steal)
- Metasploit新增技巧提示功能
- 【Go】strings.Replace 與 bytes.Replace 調優Go
- replace函式函式
- DVWA之Brute Force
- 為網頁新增留言功能網頁
- PhotoShop 2022 mac版新增功能Mac
- ABAQUS 2022新增功能詳解
- JDK 16的新增功能:ZGCJDKGC
- location.replace() 方法
- RESTOREkeyttlserialized-value[REPLACE]RESTTLSZed
- MySQL replace語句MySql
- 輸入框/搜尋功能/新增、修改功能測試
- create_singlethread_workqueue, create_workqueuethread
- 114 新增CNZZ流量統計功能
- C#各版本新增加功能C#
- VMware vSphere 8 Update 3 新增功能
- rabbitmq 新增遠端訪問功能MQ
- 2.5.11 指定 FORCE LOGGING 模式模式
- 2.5.11.1 使用 FORCE LOGGING 子句
- cannot convert (type interface {}) to type int: need type assertion
- SQLite 之 INSERT OR REPLACE使用SQLite
- MYSQL中replace into的用法MySql
- [Javascript] Replace undefined with void 0JavaScriptUndefined
- mySQL中replace的用法MySql
- DKHhadoop新增新節點功能介紹Hadoop
- js小功能之-新增元素-清楚元素JS