Oracle には一時変数があります。 Oracle データベースでは、変数を使用して一般的な SQL ステートメントを作成できます。「&」および「&&」記号が変数の前に使用されている場合、その変数は一時変数であり、構文は「sql ステートメント>&変数名;」になります。 「。」一時変数は、それを使用する SQL ステートメント内でのみ有効であり、変数の値は保持できません。
このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。
oracle には一時変数があります。
Oracle データベースでは、変数を使用して一般的な SQL ステートメントを記述することができます。SQL ステートメントを実行するときに、変数の値を入力すると、変数はこれらの値に置き換えられます。 SQL ステートメント。
一時変数は、それを使用する SQL ステートメント内でのみ有効です。変数の値は保持できません。一時変数は置換変数とも呼ばれます。 SQL ステートメントでは、変数の前に「&」および「&&」記号が使用されている場合、その変数は一時変数であることを意味します。SQL ステートメントが実行されると、システムはユーザーに特定の変数を提供するよう求めます。変数のデータ。
次は一時変数を使用しないクエリ ステートメントです:
&
を使用して一時変数を宣言する場合:
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
上では 3 つの一時変数が定義されていますが、2 つの一時変数は同じ値を表します。& で定義された変数を使用する場合は、chang1 の値を 2 回入力する必要があります。
&& を使用する場合、if一時変数名が同じ場合は、値を 1 回入力するだけで済みます。
&& を使用して定義された一時変数:
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
上記の比較を通じて、違いがわかります。 &と&&で定義した一時変数の間にはありますが、上記定義した一時変数を入力するたびに、デフォルトで元の値と新しい値が表示されます。表示したくない場合は、次のように指定できます。コマンド:
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行。
これを表示したい場合は、次を使用できます:
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
推奨チュートリアル: "Oracle Tutorial"
以上がOracle には一時変数がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。