1.使用start或者@运行脚本并且传递参数SQL> host cat /home/oracle/test/sqlplustest.sql set verify offcolumn ename heading '姓名'column sal heading '工资' format L99,999select ename,sal from empwhere deptno = &1 and job = '&2';column ename clearcolumn sal clearset verify onSQL> @/home/oracle/test/sqlplustest.sql 20 CLERK姓名 工资---------- -----------------SMITH $800ADAMS $1,100
2.使用accept和prompt,accept定义替代变量的时候可以指定prompt提示符
SQL> host cat /home/oracle/test/sqlplustest2.sql
set verify off
accept name prompt '输入用户名:'
select job,sal from emp where ename = '&name';
set verify on;
SQL> @/home/oracle/test/sqlplustest2.sql
输入用户名:SCOTT
JOB SAL
--------- ----------
ANALYST 3000
3.使用绑定变量
SQL> var var1 varchar2(20)
SQL> exec :var1 := 'Hello,World!'
PL/SQL procedure successfully completed
var1
---------
Hello,World!
SQL> print var1
var1
---------
Hello,World!
4.使用refcursor绑定变量
SQL> var emp_cursor REFCURSOR
SQL> begin
2 open :emp_cursor for select ename,sal from emp where deptno = 10;
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> print emp_cursor
ENAME SAL
---------- ----------
CLARK 2450
KING 5000
MILLER 1300
--注意上面我只在sqlplus下测试成功了,在pl/sql develop的command下没有执行成功,可能是版本问题,造成不能识别refcursor类型
阅读(4258) | 评论(0) | 转发(0) |