Rumah pangkalan data tutorial mysql oracle 动态语句 三种写法

oracle 动态语句 三种写法

Jun 07, 2016 pm 03:50 PM
oracle sql Kaedah penulisan dinamik kenyataan jerung

SQL语句有两种方式,三种写法 Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型;另外一种是后期联编(late binding) 4)由于动态SQL是在运行时刻进行确定的,所以相对

SQL语句有两种方式,三种写法 

 

Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型;另外一种是后期联编(late binding)

4)由于动态SQL是在运行时刻进行确定的,所以相对于静态而言,其更多的会损失一些系统性能来换取其灵活性。

 

静态和动态 只是不同的方式  涉及的是前期和后期联编

对象信息之类的,语法检查,对象检查

 

三种写法

固定SQL,绑定变量SQL,硬编码SQL 

动态分别这三种
1 sql='select * from table where name='李三''
2 sql='select * from table where name=:p_name'
3 sql='select * from table where name='||p_name;

 

declare
vc_sql varchar2(1000);
i number;
begin
  
  i := 10;
  vc_sql := 'select /*+ demo 1*/ * from t where object_id=10';
  execute immediate vc_sql;
  
  vc_sql := 'select /*+ demo 2*/ * from t where object_id=:1';
  execute immediate vc_sql using i;
  
  vc_sql := 'select /*+ demo 3*/ * from t where object_id='||i;
  execute immediate vc_sql;
  
  i := 20;  
  vc_sql := 'select /*+ demo 1*/ * from t where object_id=10';
  execute immediate vc_sql;
  
  vc_sql := 'select /*+ demo 2*/ * from t where object_id=:1';
  execute immediate vc_sql using i;
  
  vc_sql := 'select /*+ demo 3*/ * from t where object_id='||i;
  execute immediate vc_sql;  
  
end;
/

 

SQL> select sql_text from v$sqlarea where sql_text like 'select /*+ demo %' order by sql_text;

SQL_TEXT
------------------------------
select /*+ demo 1*/ * from t where object_id=10

select /*+ demo 1*/ * from t where object_id=20

select /*+ demo 2*/ * from t where object_id=:1

select /*+ demo 3*/ * from t where object_id=10

select /*+ demo 3*/ * from t where object_id=20


如果重复执行 条件不变的话  3种方式都能重用,

如果 条件发生变化,

第一种字面写死的能重用,

第二种 绑定变量 基本能重用  ORACLE 10G以后 会窥视变量的值, 如果存数据分布信息 可能重新生成执行计划.

第三种参数化 会因为条件值发生改变不发生重用,


静态SQL语句 只是取消掉了引号的 ,没有execute immediate  基本跟上面形似一样

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1663
14
Tutorial PHP
1266
29
Tutorial C#
1239
24
Cara menyelesaikan masalah penutup kursor oracle Cara menyelesaikan masalah penutup kursor oracle Apr 11, 2025 pm 10:18 PM

Kaedah untuk menyelesaikan masalah penutupan kursor Oracle termasuk: secara eksplisit menutup kursor menggunakan pernyataan Tutup. Mengisytiharkan kursor dalam klausa kemas kini supaya ia ditutup secara automatik selepas skop berakhir. Mengisytiharkan kursor dalam klausa menggunakan supaya ia secara automatik ditutup apabila pembolehubah PL/SQL yang berkaitan ditutup. Gunakan pengendalian pengecualian untuk memastikan kursor ditutup dalam keadaan pengecualian. Gunakan kolam sambungan untuk menutup kursor secara automatik. Lumpuhkan penyerahan automatik dan penangguhan kursor kelewatan.

Cara membuat kursor di Oracle Loop Cara membuat kursor di Oracle Loop Apr 12, 2025 am 06:18 AM

Di Oracle, gelung gelung boleh membuat kursor secara dinamik. Langkah -langkahnya ialah: 1. Tentukan jenis kursor; 2. Buat gelung; 3. Buat kursor secara dinamik; 4. Melaksanakan kursor; 5. Tutup kursor. Contoh: Kursor boleh dibuat kitaran demi litar untuk memaparkan nama dan gaji 10 pekerja teratas.

Langkah -langkah apa yang diperlukan untuk mengkonfigurasi CentOS dalam HDFS Langkah -langkah apa yang diperlukan untuk mengkonfigurasi CentOS dalam HDFS Apr 14, 2025 pm 06:42 PM

Membina Sistem Fail Teragih Hadoop (HDFS) pada sistem CentOS memerlukan pelbagai langkah. Artikel ini menyediakan panduan konfigurasi ringkas. 1. Sediakan untuk memasang JDK pada peringkat awal: Pasang JavadevelopmentKit (JDK) pada semua nod, dan versi mesti bersesuaian dengan Hadoop. Pakej pemasangan boleh dimuat turun dari laman web rasmi Oracle. Konfigurasi Pembolehubah Alam Sekitar: Edit /etc /Fail Profil, tetapkan pembolehubah persekitaran Java dan Hadoop, supaya sistem dapat mencari laluan pemasangan JDK dan Hadoop. 2. Konfigurasi Keselamatan: Log masuk tanpa kata laluan SSH untuk menjana kunci SSH: Gunakan perintah ssh-keygen pada setiap nod

Apa yang perlu dilakukan sekiranya log oracle penuh Apa yang perlu dilakukan sekiranya log oracle penuh Apr 12, 2025 am 06:09 AM

Apabila fail log Oracle penuh, penyelesaian berikut boleh diterima pakai: 1) fail log lama bersih; 2) meningkatkan saiz fail log; 3) meningkatkan kumpulan fail log; 4) menyediakan pengurusan log automatik; 5) mengukuhkan pangkalan data. Sebelum melaksanakan sebarang penyelesaian, adalah disyorkan untuk membuat sandaran pangkalan data untuk mengelakkan kehilangan data.

Peranan Oracle dalam dunia perniagaan Peranan Oracle dalam dunia perniagaan Apr 23, 2025 am 12:01 AM

Oracle bukan sahaja syarikat pangkalan data, tetapi juga pemimpin dalam pengkomputeran awan dan sistem ERP. 1. Oracle menyediakan penyelesaian yang komprehensif dari pangkalan data ke perkhidmatan awan dan sistem ERP. 2. Oraclecloud mencabar AWS dan Azure, menyediakan perkhidmatan IaaS, PaaS dan SaaS. 3. Sistem ERP Oracle seperti E-BusinessSuite dan FusionApplications membantu perusahaan mengoptimumkan operasi.

Cara Menghentikan Pangkalan Data Oracle Cara Menghentikan Pangkalan Data Oracle Apr 12, 2025 am 06:12 AM

Untuk menghentikan pangkalan data Oracle, lakukan langkah -langkah berikut: 1. Sambungkan ke pangkalan data; 2. Shutdown segera; 3. Shutdown membatalkan sepenuhnya.

Cara Mengeksport Oracle View Cara Mengeksport Oracle View Apr 12, 2025 am 06:15 AM

Pandangan Oracle boleh dieksport melalui utiliti EXP: log masuk ke pangkalan data Oracle. Mulakan utiliti EXP, menentukan nama paparan dan direktori eksport. Masukkan parameter eksport, termasuk mod sasaran, format fail, dan ruang meja. Mula mengeksport. Sahkan eksport menggunakan utiliti IMPDP.

Cara Mengkonfigurasi Sambungan Pangkalan Data Weblogic pada CentOS Cara Mengkonfigurasi Sambungan Pangkalan Data Weblogic pada CentOS Apr 14, 2025 pm 02:06 PM

Mengkonfigurasi sambungan pangkalan data WebLogic pada sistem CentOS memerlukan langkah -langkah berikut: Pemasangan JDK dan Konfigurasi Alam Sekitar: Pastikan pelayan telah memasang JDK yang serasi dengan versi WebLogic (contohnya, WebLogic14.1.1 biasanya memerlukan JDK8). Betul set java_home, classpath dan pembolehubah persekitaran jalan. Pemasangan dan penyahmampatan WebLogic: Muat turun pakej pemasangan WebLogic untuk sistem CentOS dari laman web Oracle rasmi dan unzipnya ke direktori yang ditentukan. Penciptaan Pengguna dan Direktori WebLogic: Buat Akaun Pengguna WebLogic yang berdedikasi dan tetapkan kata laluan keselamatan

See all articles