题目部分
SQL*Plus中&与&&的区别是什么?
答案部分
&用来创建一个临时变量,每当遇到这个临时变量时,都会提示输入一个值。
&&用来创建一个持久变量,就像用DEFINE命令或带NEW_VLAUE子句的COLUMN命令创建的持久变量一样。当使用&&命令引用这个变量时,不会每次遇到该变量就提示用户键入值,而只有在第一次遇到时提示一次。
例如,将下面三行语句存为一个脚本文件,运行该脚本文件,会提示三次,让输入DEPTNOVAL的值:
SELECT COUNT(*) FROM SCOTT.EMP WHERE DEPTNO = &DEPTNOVAL;
SELECT COUNT(*) FROM SCOTT.EMP WHERE DEPTNO = &DEPTNOVAL;
SELECT COUNT(*) FROM SCOTT.EMP WHERE DEPTNO = &DEPTNOVAL;
将下面三行语句存为一个脚本文件,运行该脚本文件,则只会提示一次,让输入DEPTNOVAL的值:
SELECT COUNT(*) FROM SCOTT.EMP WHERE DEPTNO = &&DEPTNOVAL;
SELECT COUNT(*) FROM SCOTT.EMP WHERE DEPTNO = &DEPTNOVAL;
SELECT COUNT(*) FROM SCOTT.EMP WHERE DEPTNO = &DEPTNOVAL;
本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。