日期:2014-05-17  浏览次数:21306 次

sqlplus 里面的difine命令是干什么用的啊
求举个例子看看

------解决方案--------------------
select * from tb1 where id=&a
当我们执行这样的语句的时候,会提示我们输入a的值
如果我们define a=1之后
再执行
就不会提示输入a的值了
------解决方案--------------------
例如:
SQL code
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; 则不会要你再输入值,直接得到结果.