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

menggunakan EXECUTE IMMEDIATE dengan beberapa argumen pengikatan yang sama

Ada perilaku "khusus" di Oracle:Nama Placeholder Berulang dalam SQL Dinamis Pernyataan

Dalam Blok Anonim atau Pernyataan CALL, tidak perlu mengulang nilai pengikatan jika namanya sama. Misalnya Blok Anonim ini sedang bekerja:

DECLARE
  a NUMBER := 4;
  b NUMBER := 7;
  plsql_block VARCHAR2(100);
BEGIN
  plsql_block := 'BEGIN calc_stats(:x, :x, :y, :x); END;';
  EXECUTE IMMEDIATE plsql_block USING a, b;  -- calc_stats(a, a, b, a)
END;
/

Tapi ini EXECUTE IMMEDIATE plsql_block USING a, b; tidak berfungsi di dalam Prosedur .



  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 saya bisa membuat daftar semua tabel yang ada di Tautan Database (Oracle)?

  2. Rata-rata daftar TIMESTAMP(6) DENGAN ZONA WAKTU kali

  3. Cara mendapatkan informasi tentang semua jenis data yang dideklarasikan dalam paket yang diberikan

  4. Bagaimana cara mengizinkan pembaruan hasil tampilan di Oracle?

  5. Apa cara untuk memasukkan &mengambil data BLOB dari database Oracle menggunakan SQL?