Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle PL/SQL Rilis 12.2.0.1.0 vs 12.1.0.2.0 - langsung eksekusi dengan parameter

Seperti yang disebutkan oleh @Alex, membuat urutan dengan klausa Partisi adalah fitur tidak berdokumen seperti WMCONCAT . Lihat penjelasan di bawah ini:

sql> create sequence s1;

Sequence created.

sql> select s1.nextval from dual;

     NEXTVAL
     ---------
     1

sql> select dbms_metadata.get_ddl('SEQUENCE','S1') from dual;

DBMS_METADATA.GET_DDL('SEQUENCE','S1')
--------------------------------------------------------------------------------

 CREATE SEQUENCE  "SCOTT"."S1"  MINVALUE 1 MAXVALUE 99999999999999999999999999
99 INCREMENT BY 1 START WITH 21 CACHE 20 NOORDER  NOCYCLE  NOPARTITION

Anda dapat melihat di sini bahwa secara internal Oracle menyimpan definisi urutan di beberapa partition dan karenanya ditampilkan di DDL .

Buat urutan lain

sql> create sequence s2 partition;

  Sequence created.

sql> select s2.nextval from dual;

     NEXTVAL
---------------
      4103920000000000000000000000000001

sql> select dbms_metadata.get_ddl('SEQUENCE','S2') from dual;

DBMS_METADATA.GET_DDL('SEQUENCE','S2')
--------------------------------------------------------------------------------

 CREATE SEQUENCE  "SCOTT"."S2"  MINVALUE 1 MAXVALUE 99999999999999999999999999
99 INCREMENT BY 1 START WITH 21 CACHE 20 NOORDER  NOCYCLE  PARTITION 100000000

Anda lihat sekarang kali ini Oracle membuat urutan di beberapa partisi dan karenanya menunjukkannya dalam definisi DDL.

Beberapa fitur oracle telah disediakan untuk penggunaan internalnya sendiri yang karenanya tidak didokumentasikan.

Dalam kasus Anda, jika Anda menghapus bagian itu, bagian lain akan berfungsi dengan baik. Lihat di bawah:

DECLARE
  max_id INTEGER;
BEGIN
  SELECT MAX(ID) + 1 INTO max_id FROM MY_TABLE;

  EXECUTE IMMEDIATE 'CREATE SEQUENCE  MY_TABLE_ID  MINVALUE 1 MAXVALUE 99999999999999 INCREMENT BY 1 START WITH '|| max_id||'  CACHE 100 NOORDER  NOCYCLE  ' ;
END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle Conditional di mana klausa

  2. Memformat Data menjadi warna tertentu

  3. Cara membuat menu di SQLPlus atau PL/SQL

  4. Oracle setara dengan fungsi SQL Server STUFF?

  5. Tanda kurung kanan tidak ada:Saat Hapus Tetapkan Null Saat Perbarui Cascade (SQL/Oracle)