Heim >Datenbank >Oracle >Verfügt Oracle über temporäre Variablen?

Verfügt Oracle über temporäre Variablen?

青灯夜游
青灯夜游Original
2022-04-18 18:04:573991Durchsuche

oracle hat temporäre Variablen. In der Oracle-Datenbank können Sie Variablen verwenden, um allgemeine SQL-Anweisungen zu schreiben. Wenn die Symbole „&“ und „&&“ vor der Variablen verwendet werden, handelt es sich bei der Variablen um eine temporäre Variable und die Syntax lautet „SQL-Anweisung>&Variablenname;“. " . Temporäre Variablen sind nur in der SQL-Anweisung gültig, die sie verwendet, und der Variablenwert kann nicht beibehalten werden.

Verfügt Oracle über temporäre Variablen?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.

oracle hat temporäre Variablen.

In der Oracle-Datenbank können Sie Variablen verwenden, um allgemeine SQL-Anweisungen zu schreiben. Geben Sie beim Ausführen der SQL-Anweisung Werte für die Variablen ein, und die Variablen werden in der SQL-Anweisung durch diese Werte ersetzt.

Temporäre Variablen sind nur in der SQL-Anweisung gültig, die sie verwendet. Der Variablenwert kann nicht beibehalten werden. Temporäre Variablen werden auch als Ersatzvariablen bezeichnet. Wenn in der SQL-Anweisung die Symbole „&“ und „&&“ vor einer Variablen verwendet werden, bedeutet dies, dass es sich bei der Variablen um eine temporäre Variable handelt. Wenn die SQL-Anweisung ausgeführt wird, fordert das System den Benutzer auf, eine bestimmte Variable anzugeben Daten für die Variable.

Das Folgende ist eine Abfrageanweisung ohne Verwendung temporärer Variablen:

Verfügt Oracle über temporäre Variablen?

Wenn Sie & verwenden, um temporäre Variablen zu deklarieren:

SQL> list
  1  select &chang1,ename,job
  2  from scott.emp
  3* where &chang1>&temp
SQL> run
  1  select &chang1,ename,job
  2  from scott.emp
  3* where &chang1>&temp
输入 chang1 的值:  empno
原值    1: select &chang1,ename,job
新值    1: select empno,ename,job
输入 chang1 的值:  empno
输入 temp 的值:  7790
原值    3: where &chang1>&temp
新值    3: where empno>7790
 
     EMPNO ENAME      JOB
---------- ---------- ---------
      7839 KING       PRESIDENT
      7844 TURNER     SALESMAN
      7876 ADAMS      CLERK
      7900 JAMES      CLERK
      7902 FORD       ANALYST
      7934 MILLER     CLERK

Drei temporäre Variablen sind oben definiert, aber zwei temporäre Variablen stellen denselben Wert dar. Bei Verwendung von && definiert Variablen müssen Sie den Wert von chang1 zweimal eingeben

Wenn Sie && verwenden und die von Ihnen definierten temporären Variablen denselben Namen haben, müssen Sie den Wert nur einmal eingeben

Verwenden Sie &&, um temporäre Variablen zu definieren:

SQL> run
  1  select &&chang1,ename,job
  2  from scott.emp
  3* where &&chang1>&&temp
输入 chang1 的值:  empno
原值    1: select &&chang1,ename,job
新值    1: select empno,ename,job
输入 temp 的值:  7790
原值    3: where &&chang1>&&temp
新值    3: where empno>7790
 
     EMPNO ENAME      JOB
---------- ---------- ---------
      7839 KING       PRESIDENT
      7844 TURNER     SALESMAN
      7876 ADAMS      CLERK
      7900 JAMES      CLERK
      7902 FORD       ANALYST
      7934 MILLER     CLERK

Durch den obigen Vergleich können Sie den Unterschied zwischen den durch & und && definierten temporären Variablen erkennen, aber jedes Mal, wenn die oben definierte temporäre Variable eingegeben wird, werden standardmäßig der ursprüngliche Wert und der neue Wert angezeigt Wenn Sie möchten, dass es angezeigt wird, können Sie den folgenden Befehl verwenden:

SQL> set verify off;
SQL> run
  1  select &&chang1,ename,job
  2  from scott.emp
  3* where &&chang1>&&temp
 
     EMPNO ENAME      JOB
---------- ---------- ---------
      7839 KING       PRESIDENT
      7844 TURNER     SALESMAN
      7876 ADAMS      CLERK
      7900 JAMES      CLERK
      7902 FORD       ANALYST
      7934 MILLER     CLERK
 
已选择6行。

Wenn Sie möchten, dass es angezeigt wird, dann Kann verwendet werden:

SQL> set verify on
SQL> run
  1  select &&chang1,ename,job
  2  from scott.emp
  3* where &&chang1>&&temp
原值    1: select &&chang1,ename,job
新值    1: select empno,ename,job
原值    3: where &&chang1>&&temp
新值    3: where empno>7790
 
     EMPNO ENAME      JOB
---------- ---------- ---------
      7839 KING       PRESIDENT
      7844 TURNER     SALESMAN
      7876 ADAMS      CLERK
      7900 JAMES      CLERK
      7902 FORD       ANALYST
      7934 MILLER     CLERK

Empfohlenes Tutorial: „Oracle Tutorial

Das obige ist der detaillierte Inhalt vonVerfügt Oracle über temporäre Variablen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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