码迷,mamicode.com
首页 > 其他好文 > 详细

替代变量-----from cyber

时间:2015-12-18 18:27:34      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

--&变量名,&&变量名简析-----------------------------------------------------------
1 set verify on;
2 select * from tcpn_jodsmapping where productid = &ProductIDand producteffdate = &ProductEffdate3 ORDER by &ProductID;
4 select * from tcpn_jodsmapping where productid = &&ProductIDand producteffdate = &ProductEffdate5 ORDER by &ProductID‘;
& :“&变量名” --------- eg:&name;
生命周期:单次引用中,不需要声明,如果替换字符或日期类型,最好用单引号扩起
使用范围:where、order by、列表达式、表名、整个SELECT 语句中
&& :“&&变量名”-------eg:&&name;
生命周期:整个会话(session连接),不需要声明
-- ACCEPT-----------------------------------------------------------------------
1 ACCEPT pro_pID PROMPT Provide the Product ID and Eff date.2 select * from 
3 tcpn_jodsmapping 
4 where productid = &pro_pID‘;
accept
生命周期:整个会话
预先声明,可以客户化提示信息,使用时用&引用声明的变量。
定义:
accept 变量名name number/char/date prompt ‘提示信息内容‘即:ACC[EPT] variable [NUM[BER] | CHAR | DATE] [FOR[MAT] format] [DEF[AULT] default] [PROMPT text | NOPR[OMPT]] [HIDE]
解释:
PROMPT命令:用于输出提示用户的信息,以便使用户了解脚本文件的功能和运行情况
PAUSE命令:用于暂停脚本文件的运行
HIDE选项:用于隐藏用户的输入,使别人不可见,安全
这 条命令的意思是:当plsql程序段执行到变量name的时候,此时需要用户的交互才能继续执行下去,plsql程序段会显示“提示信息内 容”让用户输入相关信息(如果指定hide选项,那么在接下去用户输入的东西将被用星号显示出来增加安全,有点像输入密码),用户输入的内容被接收到并且 把它付给name,关于在“提示信息内容”下用户输入的内容的类型,plsql程序段开发人员来通过number/char/date指定,变量name 得到正确的值以后,继续执行相关下面的程序!
--DEFINE-----------------------------------------------------------------------
技术分享
1 DEFINE DEF010003=010003;
2 DEFINE DEF010003
3 DEFINE DEF01000320090301=20090301;
4 DEFINE DEF01000320090301
5 SELECT * FROM tcpn_paymentitem
6 where productid = &DEF0100037 and PRODUCTEFFDATE = &DEF01000320090301;
8 UNDEFINE DEF010003;
9 UNDEFINE DEF01000320090301;
技术分享
define :“define 变量名=变量值”eg:DEFINE a = clark;
生命周期:整个会话,预先声明,使用时用&引用声明的变量
define variable=用户创建的CHAR类型的值:define 变量名=值;
define 变量名:查看变量命令。 
undefine 变量名:清除变量
define:查看在当前会话中所有的替换变量和它们的值
--------------------------------------------------------------------------------
使用范例:
技术分享
 1 declare  
 2    v_sal number(6,2);  
 3    v_ename emp.ename%type:=&ename;  
 4 begin  
 5    select sal into v_sal from emp  
 6 where lower(ename)=lower(v_ename);  
 7 if v_sal<2000 then  
 8    update emp set sal=v_sal + 200  
 9       where lower(ename)=lower(v_ename);  
10 end if;  
11 end;
技术分享

替代变量-----from cyber

标签:

原文地址:http://www.cnblogs.com/Jeffrey-xu/p/5057642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!