Ponieważ PostgresPlus Advanced Server 9.3 Beta został zbudowany na funkcji PostgreSQL 9.3 Beta społeczności, stąd zróżnicowane funkcje Oracle-Compatibility wprowadzone w wersji BETA, takie jak składnie w stylu Oracle, pakiety, funkcja SQL itp. Poniżej znajduje się kilka przykładów wykonanych w PPAS 9.3 BETA:-
Składnia zmaterializowanych widoków:
CREATE MATERIALIZED VIEW name [build_clause][create_mv_refresh] AS subquery
Where build_clause is:
BUILD {IMMEDIATE | DEFERRED}
Where create_mv_refresh is:
REFRESH [COMPLETE] [ON DEMAND]
- Budowanie odroczone – W tej opcji dane, które nie zostały umieszczone w MV w momencie tworzenia, zamiast tego są wypełniane później za pomocą ODŚWIEŻ WIDOK ZMATERIAŁÓW.
- Buduj natychmiast – W tej opcji dane wypełniane w MV w czasie tworzenia z tabel (domyślnie)
edb=# create materialized view mymview1
build immediate
as select ename,sum(sal) from emp group by ename;
SELECT 14
edb=# create materialized view mymview2
build deferred
as select ename,sum(sal) from emp group by ename;
SELECT 0
Jak można się domyślić z powyższych danych wyjściowych, „BUDUJ NATYCHMIAST” wypełnia wszystkie wiersze w czasie tworzenia, podczas gdy „BUDUJ ODROCZONY” po prostu stworzył fikcyjny obiekt, który powinien być później wypełniony za pomocą ODŚWIEŻ ZMATERIAŁOWEGO WIDOK.
edb=# refresh materialized view mymview2 ;
REFRESH MATERIALIZED VIEW
edb=# select count(*) from mymview2;
count
-------
14
(1 row)
Tryby ODŚWIEŻ [ZAKOŃCZONO] [NA ŻĄDANIE] są również obsługiwane podczas tworzenia widoku zmaterializowanego.
Więcej obsługi funkcji Oracle SQL:
REGEXP_SUBSTR()
edb=# SELECT REGEXP_SUBSTR('EDB documentation AT http://www.enterprisedb.com/','http://([[:alnum:]]+){3,4}/?') as RESULT FROM dual;
result
------------
http://www
(1 row)
REGEXP_COUNT()
edb=# select regexp_count('I am in PG-Mailing list','i',1,'i');
regexp_count
--------------
5
(1 row)
REGEXP_INSTR()
edb=# SELECT REGEXP_INSTR('PostgreSQL','P') "position" FROM dual;
position
----------
1
(1 row)
RAWTOHEX() / HEXTORAW ()
edb=# CREATE TABLE test (raw_col RAW(10));
CREATE TABLE
edb=# INSERT INTO test VALUES (HEXTORAW('7D'));
INSERT 0 1
edb=# select * from test ;
raw_col
---------
x7d
(1 row)
edb=# select rawtohex(raw_col) from test ;
rawtohex
----------
7d
(1 row)
Więcej obsługi pakietów Oracle:
DBMS_SCHEDULER
DBMS_RANDOM
DBMS_CRYPTO
DBMS_MVIEW
DBMS_LOCK.sleep
UTL_HTTP
UTL_ENCODE
UTL_URL
Więcej informacji można znaleźć w informacjach o wydaniu:
http://get.enterprisedb.com/releasenotes/PgPlus_AS_93Beta1_Release_Notes_20130802.pdf