Som PostgresPlus Advanced Server 9.3 Beta bygget på community PostgreSQL 9.3 Beta funktion, derfra frigives forskellige Oracle-kompatibilitetsfunktioner introduceret i BETA, såsom Oracle-stil syntakser, pakker, SQL funktion osv. Nedenfor er nogle af eksemplerne udført i PPAS 9.3 BETA:-
Materialiseret visningssyntaks:
CREATE MATERIALIZED VIEW name [build_clause][create_mv_refresh] AS underforespørgsel
Hvor build_clause er:
BUILD {IMMEDIATE | DEFERRED}
Hvor create_mv_refresh er:
REFRESH [COMPLETE] [ON DEMAND]
- Byg udskudt – I denne valgmulighed udfyldes data ikke i MV på oprettelsestidspunktet, i stedet for udfyldes de senere ved at bruge OPDATERING MATERIALISERET VISNING.
- Byg med det samme – I denne indstilling er data udfyldt i MV på oprettelsestidspunktet fra tabeller (standard)
edb=# opret materialiseret visning mymview1
byg øjeblikkeligt
som vælg ename,sum(sal) fra emp gruppe efter ename;
SELECT 14
edb=# create materialized view mymview2
build deferred
as select ename,sum(sal) from emp group by ename;
VÆLG 0
Som du vil være i stand til at finde ud af ovenstående output, udfylder "BYG IMMEDIATE" alle rækker på oprettelsestidspunktet, hvorimod "BYG DEFERRED" blot oprettede et dummy-objekt, der senere burde udfyldes ved hjælp af REFRESH MATERIALIZED VIEW.
edb=# opdater materialiseret visning mymview2;
OPPFRISK MATERIALISERET VISNING
edb=# vælg antal(*) fra mymview2;
tæller
-------
14
(1 række)
OPDATERING [COMPLETE] [ON DEMAND]-tilstande understøttes også på oprettelsestidspunktet for Materialized View.
Flere Oracle SQL-funktioner understøtter:
REGEXP_SUBSTR()
edb=# SELECT REGEXP_SUBSTR('EDB-dokumentation PÅ http://www.enterprisedb.com/','http://([[:alnum:]]+){3,4}/?') som RESULTAT FRA dobbelt;
resultat
------
http://www
(1 række)
REGEXP_COUNT()
edb=# vælg regexp_count('Jeg er på PG-postliste','i',1,'i');
regexp_count
------ ---
5
(1 række)
REGEXP_INSTR()
edb=# SELECT REGEXP_INSTR('PostgreSQL','P') "position" FROM dual;
position
-----------
1
(1 række)
RAWTOHEX() / HEXTORAW ()
edb=# CREATE TABLE test (raw_col RAW(10));
CREATE TABEL
edb=# INSERT INTO test VALUES (HEXTORAW('7D'));
INSERT 0 1
edb=# vælg * fra test;
raw_col
---------
x7d
(1 række)
edb=# vælg rawtohex(raw_col) fra testen;
rawtohex
----------
7d
(1 række)
Flere understøttelse af Oracle-pakker:
DBMS_SCHEDULER
DBMS_RANDOM
DBMS_CRYPTO
DBMS_MVIEW
DBMS_LOCK.sleep
UTL_HTTP
UTL_ENCODE
UTL_URLFor flere detaljer kan du se release notes:
http://get.enterprisedb.com/releasenotes/PgPlus_AS_93Beta1_Release_Notes_20130802.pdf