Karena PostgresPlus Advanced Server 9.3 Beta dibangun di atas fitur PostgreSQL 9.3 Beta komunitas, maka beragam fitur Kompatibilitas Oracle yang diperkenalkan di BETA, seperti sintaks gaya Oracle, paket, fungsi SQL, dll. Berikut adalah beberapa contoh yang dijalankan di PPAS 9.3 BETA:-
Sintaks Tampilan Terwujud:
CREATE MATERIALIZED VIEW name [build_clause][create_mv_refresh] AS subquery
Di mana build_clause berada:
BUILD {IMMEDIATE | DEFERRED}
Di mana create_mv_refresh berada:
REFRESH [SELESAI] [ON DEMAND]
- Bangun ditangguhkan – Dalam opsi ini, data tidak diisi di MV pada waktu pembuatan, melainkan diisi nanti dengan menggunakan REFRESH MATERIALIZED VIEW.
- Bangun Segera – Dalam opsi ini, data diisi dalam MV pada waktu pembuatan dari tabel (Default)
edb=# buat tampilan terwujud mymview1
bangun langsung
sebagai pilih ename,jumlah(sal) dari grup emp oleh ename;
SELECT 14
edb=# membuat tampilan terwujud mymview2
membangun ditangguhkan
sebagai pilih ename,jumlah(sal) dari grup emp oleh ename;
PILIH 0
Karena Anda dapat mengetahui dari output di atas bahwa "BUILD IMMEDIATE" mengisi semua baris pada waktu pembuatan, sedangkan "BUILD DEFERRED" hanya membuat objek dummy yang nantinya harus diisi menggunakan REFRESH MATERIALIZED VIEW.
edb=# refresh tampilan terwujud mymview2;
REFRESH MATERIALIZED VIEW
edb=# pilih count(*) dari mymview2;
count
-------
14
(1 baris)
Mode REFRESH [SELESAI] [ON DEMAND] juga didukung pada waktu pembuatan Tampilan Terwujud.
Lebih banyak dukungan fungsi Oracle SQL:
REGEXP_SUBSTR()
edb=# SELECT REGEXP_SUBSTR('Dokumentasi EDB DI http://www.enterprisedb.com/','http://([[:alnum:]]+){3,4}/?') sebagai HASIL DARI ganda;
hasil
------------
http://www
(1 baris)
REGEXP_COUNT()
edb=# pilih regexp_count('Saya di PG-Mailing list','i',1,'i');
regexp_count
----------- ---
5
(1 baris)
REGEXP_INSTR()
edb=# SELECT REGEXP_INSTR('PostgreSQL','P') "posisi" DARI ganda;
posisi
----------
1
(1 baris)
RAWTOHEX() / HEXTORAW ()
edb=# CREATE TABLE test (raw_col RAW(10));
CREATE TABLE
edb=# INSERT INTO test VALUES (HEXTORAW('7D'));
INSERT 0 1
edb=# pilih * dari tes;
raw_col
---------
x7d
(1 baris)
edb=# pilih rawtohex(raw_col) dari tes;
rawtohex
----------
7d
(1 baris)
Lebih banyak dukungan Paket Oracle:
DBMS_SCHEDULER
DBMS_RANDOM
DBMS_CRYPTO
DBMS_MVIEW
DBMS_LOCK.sleep
UTL_HTTP
UTL_ENCODE
UTL_URLUntuk detail lebih lanjut, Anda dapat merujuk catatan rilis:
http://get.enterprisedb.com/releasenotes/PgPlus_AS_93Beta1_Release_Notes_20130802.pdf