在看11G聯機文檔的PARTITION EXTENDED NAME限制的時候,測試發現與書上描述不符。
Restrictions on Extended Names Currently, the use of partition-extended and subpartition-extended table names has the following restrictions:
No remote tables: A partition-extended or subpartition-extended table name cannot contain a database link (dblink) or a synonym that translates to a table with a dblink. To use remote partitions and subpartitions, create a view at the remote site that uses the extended table name syntax and then refer to the remote view.
No synonyms: A partition or subpartition extension must be specified with a base table. You cannot use synonyms, views, or any other objects.
The PARTITION FOR and SUBPARTITION FOR clauses are not valid for DDL operations on views.
In the PARTITION FOR and SUBPARTITION FOR clauses, you cannot specify the keywords DEFAULT or MAXVALUE or a bind variable for the partition_key_value or subpartition_key_value.
第二句話說 分區或者子分區的擴展語句必須指定在基表上,而不能指定在同義詞或者視圖及其他對象。
測試的時候卻發現不是這樣的:
SQL> create table test partition by range(object_id)
2? (
3? partition p1 values less than(10000),
4? partition p2 values less than(20000),
5? partition p3 values less than(30000),
6? partition p4 values less than(maxvalue)
7? )
8? as
9? select * from all_objects;
Table created.
SQL> select count(1) from test partition (p1);
COUNT(1)
----------
4224
SQL> create synonym s_test for test;
Synonym created.
SQL> select count(1) from s_test partition (p1);
COUNT(1)
----------
4224
可以看到在同義詞上指定的PARTITION EXTENSION也是可以的。
SQL> create view v_test as select * from test ;
View created.
SQL> select count(1) from v_test? partition (p1);
select count(1) from v_test? partition (p1)
*
ERROR at line 1:
ORA-14109: partition-extended object names may only be used with tables
在視圖上指定是不可以的。
雖然我的測試環境是10.2.0.4,而文檔時11G的,但是不太可能10G都支持的功能,11G取消了吧
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE??? 10.2.0.4.0????? Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
NLSRTL Version 10.2.0.4.0 - Production