当我们运行脚本的时候指定参数为“8”,运行情况如下
% sqlplus hr/my_password @myscript.sql 8
SQL*Plus: Release 9.2.0.3.0 - Production on Wed Mar 5 15:20:38 2003
...
Enter a value for PAGESIZE
Setting PAGESIZE to 8
LAST_NAME
-------------------------
King
Kochhar
De Haan
...
十五、传输值到iSQL*Plus网页界面
可以通过URL的方式将参数传递到iSQL*Plus网页界面
在10g中格式如下
http://machine/isqlplus/dynamic?script=http://machine/mys.sql&myv=emp&v2=dept
在9i中格式如下
http://machine/isqlplus?script=http://machine/mys.sql&myv=emp&v2=dept
就相当于定义变量myv和v2,同时将它们赋值“emp”和“dept”,这样运行mys.sql脚本就可以调用这两个变量。
十六、在iSQL*Plus网页中提示用户输入参数
我们先在Oracle的HTTP服务器编写脚本employee_name.sql
-- Name: employee_name.sql
set verify off
set pagesize 200
set feedback off
prompt Employee Details for Employee(s) with Last Name like &last_name%
select *
from employees
where upper(last_name) like upper('&last_name%')
/
在Oracle的HTTP服务器建立HTML文件
iSQL*Plus Dynamic Report - Query by Last NameiSQL*Plus Dynamic Report - Query by Last Name
value="http://machine/employee_name.sql ">
Enter last name of employee:
其中用Oracle的HTTP服务器的主机名、域名和端口来代替http://machine ,例如http://machine.oracle.com:7777/
INPUT TYPE需要与替代变量类型、名称、大小保持一致
十七、传递SQL*Plus的返回状态
EXIT myv
不需要在替代变量myv之前添加“&”就可以实现返回状态的功能
对于数字绑定变量需要添加前缀“:”
EXIT :mybv
十八、提示输入用户名和数据库实例
在10g的glogin.sql或者login.sql有这样一段话
set sqlprompt "_user'@'_connect_identifier:SQL > "
提示用户名和数据库实例
set termout off
define myv = 'Not connected'
column myc new_value myv
select user||'@'||global_name myc from global_name;
set sqlprompt '&myv:SQL> '
set termout on