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

LINGKUP untuk tabel REF

Anda ingin menambahkan cakupan ke COLUMN_VALUE pseudo-kolom dari tabel bersarang:

ALTER TABLE cyclers_tab ADD SCOPE FOR ( COLUMN_VALUE ) IS cycler;

Jika Anda melakukannya:

INSERT INTO cycler ( name ) VALUES ( 'c1.1' );
INSERT INTO cycler ( name ) VALUES ( 'c1.2' );

INSERT INTO team (
  name,
  cyclers
) VALUES (
  'team1',
  t_cycler_list(
    ( SELECT REF(c) FROM cycler c WHERE name = 'c1.1' ),
    ( SELECT REF(c) FROM cycler c WHERE name = 'c1.2' )
  )
);

Kemudian Anda dapat menyisipkan baris. Tetapi, jika Anda memiliki tabel lain dengan tipe objek yang sama:

CREATE TABLE cycler2 OF t_cycler (
    name PRIMARY KEY
);

INSERT INTO cycler2 ( name ) VALUES ( 'c2.1' );

Dan coba lakukan:

INSERT INTO team (
  name,
  cyclers
) VALUES (
  'team2',
  t_cycler_list(
    ( SELECT REF(c) FROM cycler2 c WHERE name = 'c2.1' )
  )
);

Kemudian Anda mendapatkan kesalahan:

db<>fiddle di sini




  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 SQL - Jumlahkan dan kelompokkan data berdasarkan minggu

  2. Ambil gambar dari Oracle DB

  3. Dapatkan hasil teratas untuk setiap grup (di Oracle)

  4. Bagaimana saya bisa membuat direktori pada sistem file?

  5. Dapatkan hitungan hari berturut-turut yang memenuhi kriteria tertentu