Som PostgresPlus Advanced Server 9.3 Beta byggd på community PostgreSQL 9.3 Beta-funktion, därifrån släpps olika Oracle-kompatibilitetsfunktioner som introducerats i BETA, som Oracle-liknande syntaxer, paket, SQL-funktion etc. Nedan är några av exemplen som körs i PPAS 9.3 BETA:-
Syntax för materialiserade vyer:
CREATE MATERIALISED VIEW name [build_clause][create_mv_refresh] AS underfråga
Där build_clause är:
BUILD {IMMEDIATE | DEFERRED}
Där create_mv_refresh är:
REFRESH [COMPLETE] [ON DEMAND]
- Bygg skjuten upp – I det här alternativet fylls data inte i MV vid skapandet, istället fylls den i senare genom att använda UPPDATERA MATERIALISERAD VY.
- Bygg omedelbart – I det här alternativet fylls data i MV vid skapandet från tabeller (standard)
edb=# skapa materialiserad vy mymview1
bygg omedelbart
som välj ename,sum(sal) från emp grupp efter ename;
VÄLJ 14
edb=# skapa materialiserad vy mymview2
bygg uppskjuten
som välj ename,sum(sal) från emp grupp för ename;
VÄLJ 0
Som du kommer att kunna ta reda på från ovanstående utdata fyller "BUILD IMMEDIATE" alla rader vid skapandet, medan "BUILD DEFERRED" helt enkelt skapade ett dummyobjekt som senare borde fyllas i med UPPDATERA MATERIALISERAD VY.
edb=# uppdatera materialiserad vy mymview2;
UPPDATERA MATERIALISERAD VY
edb=# välj count(*) från mymview2;
count
-------
14
(1 rad)
UPPDATERA [COMPLETE] [ON DEMAND]-lägen stöds också när materialiserad vy skapas.
Fler stöd för Oracle SQL-funktioner:
REGEXP_SUBSTR()
edb=# VÄLJ REGEXP_SUBSTR('EDB-dokumentation PÅ http://www.enterprisedb.com/','http://([[:alnum:]]+){3,4}/?') som RESULTAT FRÅN dubbel;
resultat
------
http://www
(1 rad)
REGEXP_COUNT()
edb=# välj regexp_count('Jag finns i PG-e-postlistan','i',1,'i');
regexp_count
------ ---
5
(1 rad)
REGEXP_INSTR()
edb=# SELECT REGEXP_INSTR('PostgreSQL','P') "position" FROM dual;
position
-----------
1
(1 rad)
RAWTOHEX() / HEXTORAW ()
edb=# CREATE TABLE test (raw_col RAW(10));
CREATE TABLE
edb=# INFOGA I testVÄRDEN (HEXTORAW('7D'));
INSERT 0 1
edb=# välj * från testet;
raw_col
--------
x7d
(1 rad)
edb=# välj rawtohex(raw_col) från testet;
rawtohex
----------
7d
(1 rad)
Fler stöd för Oracle-paket:
DBMS_SCHEDULER
DBMS_RANDOM
DBMS_CRYPTO
DBMS_MVIEW
DBMS_LOCK.sleep
UTL_HTTP
UTL_ENCODE
UTL_URLFör mer information kan du se release notes:
http://get.enterprisedb.com/releasenotes/PgPlus_AS_93Beta1_Release_Notes_20130802.pdf