PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

8 Fitur kompatibilitas Oracle baru di EnterpriseDB PPAS 9.2 Beta

Beberapa fitur Oracle baru termasuk dalam PostgresPlus Advanced Server 9.2 beta. Kebanyakan dari mereka adalah pesona untuk produk dan dibutuhkan jika ada yang bermigrasi dari Oracle ke PostgreSQL. Banyak lagi fitur baru dalam produk itu sendiri, namun saya ingin membahas beberapa di antaranya yang terkait dengan kompatibilitas Oracle.

1. Dukungan Jenis Objek: Dalam versi ini, fungsi anggota didukung, tetapi belum fungsi anggota MAP.

create or replace type mf_test as object
(
name varchar2(30),
member function disp return varchar2
);
create or replace type body mf_test as
member function disp return varchar2 is
begin
return 'Name : '||name;
end;
end;
edb=# declare
edb-# v_mf mf_test;
edb$# begin
edb$# v_mf := mf_test('Raghavendra');
edb$# dbms_output.put_line(v_mf.disp());
edb$# end;
Name : Raghavendra

EDB-SPL Procedure successfully completed

2. Jenis sub Pl/SQL : Sekarang kita dapat mendefinisikan subtipe sendiri di bagian deklaratif dari setiap blok, subprogram, atau paket PL/SQL.

Syntax: SUBTYPE subtype_name IS base_type[(constraint)] [NOT NULL];

declare
subtype hiredate is date not null;
pfdate hiredate := sysdate;
begin
dbms_output.put_line(pfdate);
end;
06-OCT-12 19:53:44

EDB-SPL Procedure successfully completed

3. KENDALA DROP TABLE CASCADE: Opsi ini akan menghapus semua batasan kunci asing yang mereferensikan tabel yang akan dihapus, lalu menghapus tabel.

edb=# create table master(id int primary key);
edb=# create table master1(id int references master(id));
edb=# d master1
Table "enterprisedb.master1"
Column | Type | Modifiers
--------+---------+-----------
id | integer |
Foreign-key constraints:
"master1_id_fkey" FOREIGN KEY (id) REFERENCES master(id)

edb=# drop table master cascade constraints;
NOTICE: drop cascades to constraint master1_id_fkey on table master1
DROP TABLE
edb=# d master1
Table "enterprisedb.master1"
Column | Type | Modifiers
--------+---------+-----------
id | integer |

4. TYPE dalam definisi Paket:

create or replace package t_pack as 
type ftype is record(name varchar2(20));
end;
edb=# call t_pack.ftype('EDB');
ftype
-------
(EDB)
(1 row)

5. Panggilan fungsi TABLE() pada tabel Bersarang: TABLE() memungkinkan untuk mengkueri koleksi dalam klausa FROM seperti tabel.

CREATE OR REPLACE TYPE string_a IS TABLE OF VARCHAR2(765);
select * from table(string_a('abc','xyz')) ;
column_value
--------------
abc
xyz
(2 rows)

6. IN/OUT dari UDT dalam panggilan fungsi: Fungsi udtabletype_in dan udtabletype_out sekarang didukung untuk tabel bersarang.

7. Penggunaan pada Kata Kunci yang dipesan (LOG/CURRENT_DATE): Sekarang kata LOG dapat digunakan untuk penamaan fungsi. Juga CURRENT_DATE, dapat digunakan untuk nama variabel.

edb=# create or replace function log(t text) return text as 
begin
return t;
end;

edb=# select log('EDB');
log
-----
EDB
(1 row)

edb=# declare
edb-# current_date date := '07-OCT-2012';
edb$# begin
edb$# dbms_output.put_line(current_date);
edb$# end;
07-OCT-12 00:00:00

EDB-SPL Procedure successfully completed

8. Dukungan tipe data STRING /NVARCHAR2: Sekarang tipe data STRING dan NVARCHAR2 untuk data multi-byte didukung untuk kolom tabel. String alias ke VARCHAR2 dan NVARCHAR2 memetakan ke varchar dari tipe data PPAS.

edb=# create table dtype( a string, b nvarchar2);
CREATE TABLE
edb=# d dtype
Table "enterprisedb.dtype"
Column | Type | Modifiers
--------+-------------------+-----------
a | character varying |
b | character varying |

Tautan unduhan &rilis catatan:
http://www.enterprisedb.com/products-services-training/products/postgres-plus-advanced-server/downloads


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konfigurasi Puma Cluster di Heroku

  2. Bagaimana cara mendapatkan kunci utama tabel dari Postgres melalui plpgsql?

  3. serial di postgres sedang ditingkatkan meskipun saya menambahkan konflik tidak melakukan apa-apa

  4. PostgreSQL cara melihat kueri mana yang telah dijalankan

  5. Bagaimana saya bisa mendapatkan daftar semua fungsi yang disimpan dalam database skema tertentu di PostgreSQL?