Maison > base de données > Oracle > Oracle a-t-il des variables temporaires ?

Oracle a-t-il des variables temporaires ?

青灯夜游
Libérer: 2022-04-18 18:05:27
original
4001 Les gens l'ont consulté

oracle a des variables temporaires. Dans la base de données Oracle, vous pouvez utiliser des variables pour écrire des instructions SQL générales. Si les symboles "&" et "&&" sont utilisés avant la variable, alors la variable est une variable temporaire et la syntaxe est "instruction SQL>&nom de la variable; " . Les variables temporaires ne sont valides que dans l'instruction SQL qui les utilise et la valeur de la variable ne peut pas être conservée.

Oracle a-t-il des variables temporaires ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Oracle 11g, ordinateur Dell G3.

oracle a des variables temporaires.

Dans la base de données Oracle, vous pouvez utiliser des variables pour écrire des instructions SQL générales lors de l'exécution de l'instruction SQL, entrez les valeurs des variables et les variables seront remplacées par ces valeurs​​dans l'instruction SQL.

Les variables temporaires ne sont valides que dans l'instruction SQL qui les utilise. La valeur de la variable ne peut pas être conservée. Les variables temporaires sont également appelées variables de remplacement. Dans l'instruction SQL, si les symboles "&" et "&&" sont utilisés devant une variable, cela signifie que la variable est une variable temporaire. Lorsque l'instruction SQL est exécutée, le système demandera à l'utilisateur de fournir une variable spécifique. données pour la variable.

Ce qui suit est une instruction de requête sans utiliser de variables temporaires :

Oracle a-t-il des variables temporaires ?

Si vous utilisez & pour déclarer des variables temporaires :

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
Copier après la connexion

Trois variables temporaires sont définies ci-dessus, mais deux variables temporaires représentent la même valeur lors de l'utilisation de && défini. variables, vous devez saisir la valeur de chang1 deux fois

Lors de l'utilisation de &&, si les variables temporaires que vous définissez ont le même nom, vous ne devez saisir la valeur qu'une seule fois

Utiliser && pour définir des variables temporaires :

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
Copier après la connexion

Grâce à la comparaison ci-dessus, vous pouvez découvrir la différence entre les variables temporaires définies par & et &&, mais chaque fois que la variable temporaire définie ci-dessus est saisie, la valeur d'origine et la nouvelle valeur seront affichées par défaut. souhaitez qu'il soit affiché, vous pouvez utiliser la commande suivante :

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行。
Copier après la connexion

Si vous souhaitez qu'il soit affiché, alors vous pouvez utiliser :

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
Copier après la connexion

Tutoriel recommandé : "Tutoriel Oracle"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal