Heim Datenbank MySQL-Tutorial oracle 动态语句 三种写法

oracle 动态语句 三种写法

Jun 07, 2016 pm 03:50 PM
oracle sql Schreibmethode 动态 语句 Hai

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  基本跟上面形似一样

 

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1663
14
PHP-Tutorial
1266
29
C#-Tutorial
1238
24
So lösen Sie das Problem des Schließens von Oracle Cursor So lösen Sie das Problem des Schließens von Oracle Cursor Apr 11, 2025 pm 10:18 PM

Die Methode zur Lösung des Oracle Cursor Closeure -Problems umfasst: explizit den Cursor mithilfe der Close -Anweisung schließen. Deklarieren Sie den Cursor in der für Aktualisierungsklausel so, dass er nach Beendigung des Umfangs automatisch schließt. Deklarieren Sie den Cursor in der Verwendung der Verwendung so, dass er automatisch schließt, wenn die zugehörige PL/SQL -Variable geschlossen ist. Verwenden Sie die Ausnahmebehandlung, um sicherzustellen, dass der Cursor in jeder Ausnahmesituation geschlossen ist. Verwenden Sie den Verbindungspool, um den Cursor automatisch zu schließen. Deaktivieren Sie die Automatikübermittlung und Verzögerung des Cursors Schließen.

So erstellen Sie Cursor in Oracle Loop So erstellen Sie Cursor in Oracle Loop Apr 12, 2025 am 06:18 AM

In Oracle kann die For -Loop -Schleife Cursors dynamisch erzeugen. Die Schritte sind: 1. Definieren Sie den Cursortyp; 2. Erstellen Sie die Schleife; 3.. Erstellen Sie den Cursor dynamisch; 4. Führen Sie den Cursor aus; 5. Schließen Sie den Cursor. Beispiel: Ein Cursor kann mit dem Zyklus für Kreislauf erstellt werden, um die Namen und Gehälter der Top 10 Mitarbeiter anzuzeigen.

Welche Schritte sind erforderlich, um CentOs in HDFs zu konfigurieren Welche Schritte sind erforderlich, um CentOs in HDFs zu konfigurieren Apr 14, 2025 pm 06:42 PM

Das Erstellen eines Hadoop -verteilten Dateisystems (HDFS) auf einem CentOS -System erfordert mehrere Schritte. Dieser Artikel enthält einen kurzen Konfigurationshandbuch. 1. Bereiten Sie sich auf die Installation von JDK in der frühen Stufe vor: Installieren Sie JavadevelopmentKit (JDK) auf allen Knoten, und die Version muss mit Hadoop kompatibel sein. Das Installationspaket kann von der offiziellen Oracle -Website heruntergeladen werden. Konfiguration der Umgebungsvariablen: Bearbeiten /etc /Profildatei, setzen Sie Java- und Hadoop -Umgebungsvariablen, damit das System den Installationspfad von JDK und Hadoop ermittelt. 2. Sicherheitskonfiguration: SSH-Kennwortfreie Anmeldung zum Generieren von SSH-Schlüssel: Verwenden Sie den Befehl ssh-keygen auf jedem Knoten

Was tun, wenn das Oracle -Protokoll voll ist Was tun, wenn das Oracle -Protokoll voll ist Apr 12, 2025 am 06:09 AM

Wenn Oracle -Protokolldateien voll sind, können die folgenden Lösungen übernommen werden: 1) alte Protokolldateien reinigen; 2) die Größe der Protokolldatei erhöhen; 3) die Protokolldateigruppe erhöhen; 4) automatische Protokollverwaltung einrichten; 5) die Datenbank neu initialisieren. Vor der Implementierung einer Lösung wird empfohlen, die Datenbank zu sichern, um den Datenverlust zu verhindern.

Orakels Rolle in der Geschäftswelt Orakels Rolle in der Geschäftswelt Apr 23, 2025 am 12:01 AM

Oracle ist nicht nur ein Datenbankunternehmen, sondern auch ein führender Anbieter von Cloud -Computing- und ERP -Systemen. 1. Oracle bietet umfassende Lösungen von der Datenbank bis zu Cloud -Diensten und ERP -Systemen. 2. Oraclecloud fordert AWS und Azure heraus und liefert IaaS-, PaaS- und SaaS -Dienste. 3. ERP-Systeme von Oracle wie E-Businesssuite und Fusion Applications helfen Unternehmen dabei, den Betrieb zu optimieren.

So stoppen Sie die Oracle -Datenbank So stoppen Sie die Oracle -Datenbank Apr 12, 2025 am 06:12 AM

Führen Sie die folgenden Schritte aus, um eine Oracle -Datenbank zu stoppen: 1. Eine Verbindung zur Datenbank herstellen; 2. Sofort herunterfahren; 3.. Herunterfahren vollständig.

So exportieren Sie Oracle View So exportieren Sie Oracle View Apr 12, 2025 am 06:15 AM

Oracle -Ansichten können über das Exp -Dienstprogramm exportiert werden: Melden Sie sich in der Oracle -Datenbank an. Starten Sie das EXP -Dienstprogramm und geben Sie das Ansichtsname und das Exportverzeichnis an. Geben Sie Exportparameter ein, einschließlich Zielmodus, Dateiformat und Tablespace. Mit dem Export beginnen. Überprüfen Sie den Exportieren mithilfe des IMPDP -Dienstprogramms.

So konfigurieren Sie die Datenbankverbindung von Weblogic auf CentOS So konfigurieren Sie die Datenbankverbindung von Weblogic auf CentOS Apr 14, 2025 pm 02:06 PM

Das Konfigurieren der Weblogic -Datenbankverbindung in einem CentOS -System erfordert die folgenden Schritte: JDK -Installation und Umgebungskonfiguration: Stellen Sie sicher, dass der Server ein JDK installiert hat, das mit der Weblogic -Version kompatibel ist (z. B. erfordert Weblogic14.1.1 normalerweise JDK8). Stellen Sie Java_Home, Klassenpfad- und Pfadumgebungsvariablen korrekt fest. Weblogic Installation und Dekompression: Laden Sie das Weblogic -Installationspaket für CentOS -System von der offiziellen Oracle -Website herunter und entpacken Sie es in das angegebene Verzeichnis. Weblogic -Benutzer- und Verzeichniserstellung: Erstellen Sie ein dediziertes Weblogic -Benutzerkonto und legen Sie ein Sicherheitskennwort fest

See all articles