替代变量

范例1验证替代变量的使用

SELECT ename,job,sal,hiredate

FROM emp

WHERE sal>&inputsal ;

 

范例2查询一个雇员编号、姓名、职位、雇佣日期、基本工资,查询的雇员姓名由用户输入

SELECT empno,ename,job,hiredate,sal FROM emp

WHERE ename=&inputename ;

 

范例3修改代码,解决单引号输入问题

SELECT empno,ename,job,hiredate,sal FROM emp

WHERE ename=UPPER('&inputename') ;

 

范例4根据雇员姓名的关键字(由用户输入)查询雇员编号、姓名、职位、雇佣日期、基本工资

SELECT empno,ename,job,hiredate,sal FROM emp

WHERE ename LIKE '%&inputkeyword%' ;

 

范例5由用户输入雇佣日期,要求查询出所有早于此雇佣日期的雇员编号、姓名、职位、雇佣日期、基本工资

SELECT empno,ename,job,hiredate,sal FROM emp

WHERE hiredate<TO_DATE('&inputhiredate','yyyy-mm-dd') ;

 

范例6修改之前的查询操作

SELECT empno,ename,job,hiredate,sal FROM emp

WHERE hiredate<'&inputhiredate' ;

 

范例7输入查询雇员的职位及工资(高于输入工资)信息,而后显示雇员编号、姓名、职位、雇佣日期、基本工资

SELECT empno,ename,job,hiredate,sal FROM emp

WHERE job=UPPER('&inputjob')

      AND sal>&inputsal ;

 

范例8SELECT子句之中使用替代变量

SELECT &inputColumnName

FROM emp

WHERE deptno=&inputDeptno ;

 

范例9FROM子句中使用替代变量

SELECT *

FROM &inputTableName ;

 

范例10ORDER BY子句中使用替代变量

SELECT empno,ename,job,hiredate,sal

FROM emp

WHERE deptno=20

ORDER BY &inputOrderByColumn DESC ;

 

范例11GROUP BY子句中使用替代变量

SELECT &inputGroupByColumn ,SUM(sal) ,AVG(sal)

FROM emp e

GROUP BY &inputGroupByColumn ;

 

范例12使用&&”定义替代变量

SELECT &&inputGroupByColumn ,SUM(sal) ,AVG(sal)

FROM emp e

GROUP BY &inputGroupByColumn ;

 

范例13取消“inputGroupByColumn”这个替代变量

UNDEFINE inputGroupByColumn

范例13定义一个替代变量inputdname

DEFINE inputdname='ACCOUNTING'

范例14查询替代变量内容

DEFINE inputdname ;

 

范例15使用DEFINE定义的替代变量

SELECT * FROM dept WHERE dname='&inputdname' ;

 

范例16清除inputdname替代变量内容

UNDEFINE inputdname ;

范例17定义脚本文件使用ACCEPT指令 —— d:mldn.sql

ACCEPT inputEname PROMPT '请输入要查询信息的雇员姓名:'

SELECT empno,ename,job,hiredate,sal FROM emp

WHERE ename=UPPER('&inputename') ;

 

 

范例18使用ACCEPT定义替代变量 —— d:mldn.sql

ACCEPT inputGroupByColumn PROMPT '请输入要分组的字段:'

SELECT &&inputGroupByColumn ,SUM(sal) ,AVG(sal)

FROM emp e

GROUP BY &inputGroupByColumn ;

 

 

范例19使用HIDE选项隐藏输入内容 —— d:mldn.sql

ACCEPT inputGroupByColumn PROMPT '请输入要分组的字段:' HIDE

SELECT &&inputGroupByColumn ,SUM(sal) ,AVG(sal)

FROM emp e

GROUP BY &inputGroupByColumn ;

 

范例20使用FORMAT限定输入的数据长度 —— d:mldn.sql

ACCEPT inputGroupByColumn PROMPT '请输入要分组的字段:' FORMAT A10

SELECT &&inputGroupByColumn ,SUM(sal) ,AVG(sal)

FROM emp e

GROUP BY &inputGroupByColumn ;

 

范例21使用FORMAT格式化输入 —— D:mldn.sql

ACCEPT inputDate DATE FORMAT 'YYYY-MM-DD' PROMPT '请输入要查询的雇佣日期:'

SELECT empno , ename , job , hiredate

FROM emp e

WHERE hiredate=TO_DATE('&inputDate','YYYY-MM-DD') ;

原文地址:https://www.cnblogs.com/doudouxiaoye/p/5803864.html