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

Kolom identitas Oracle dan masukkan ke pilih

Saya yakin kueri di bawah ini berfungsi, saya belum mengujinya!

INSERT INTO Test (b)
SELECT * FROM
(
   SELECT 'z' FROM dual
   UNION ALL
   SELECT 'zz' FROM dual
);

Tidak yakin, apakah itu membantu Anda.

Untuk, GENERATED ALWAYS AS IDENTITY Oracle secara internal hanya menggunakan Urutan. Dan opsi pada Urutan umum juga berlaku untuk ini.

NEXTVAL digunakan untuk mengambil urutan berikutnya yang tersedia, dan jelas itu adalah kolom semu.

Di bawah ini dari Oracle

Anda tidak dapat menggunakan CURRVAL dan NEXTVAL dalam konstruksi berikut:

  • Sebuah subkueri dalam DELETE , SELECT , atau UPDATE pernyataan
  • Kueri tampilan atau tampilan terwujud
  • Pernyataan SELECT dengan operator DISTINCT
  • Pernyataan SELECT dengan klausa GROUP BY atau klausa ORDER BY
  • Sebuah SELECT pernyataan yang digabungkan dengan SELECT lain pernyataan dengan UNION, INTERSECT , atau MINUS setel operator
  • Klausa WHERE dari pernyataan SELECT
  • Nilai DEFAULT kolom dalam pernyataan CREATE TABLE atau ALTER TABLE
  • Kondisi batasan CHECK

subquery dan SET aturan operasi di atas harus menjawab Pertanyaan Anda.

Dan untuk alasan NULL, ketika pseudocolumn (mis. NEXTVAL) digunakan dengan operasi SET atau aturan lain yang disebutkan di atas, outputnya adalah NULL, karena Oracle tidak dapat mengekstraknya dengan menggabungkan beberapa pilihan.

Mari kita lihat kueri di bawah ini,

select rownum from dual
union all 
select rownum from dual

hasilnya adalah

ROWNUM
1
1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana klausa 'dalam' bekerja di oracle

  2. Status Risiko Analisis Tekanan Memori

  3. Bisakah operator IN menggunakan LIKE-wildcard (%) di Oracle?

  4. Oracle UTL_HTTP Posting Multipart/Form-Data (JSON &ZIP) Contoh

  5. RAWTOHEX() Fungsi di Oracle