日期:2014-05-17 浏览次数:21287 次
set define off--关闭用户变量 set define &--设定用变量字符,如果sql中出现&,则认为需要用户手动输入变量值 select * from dual where dummy='&V';--sqlplus会认为V是个变量,需要用户手动输入值.如果define是关闭的,Oracle直接找dummy='&V'的数据
------解决方案--------------------
你说的应该是define吧?
它是用来给替代变量赋值的.
比如select &ename,&empno from emp where ename =&en; --如果执行这语句之前没有用define的话就会提示你输入ename,empno,en的值.
如果你之前这样定义:
define ename = ename --写成"ename"和写成ename是一样的
define empno = empno
define en = "'scott'"--双引号里面再加单引号.写成scott,"scott"或'scott'或''scott''会出错
再执行select &ename,&empno from emp where ename =&en; 则不会要你再输入值,直接得到结果.