sqlplus 命令:Prompt,pause, accept, hide,Start,Define ,undefine_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1226 | 回复: 0   主题: sqlplus 命令:Prompt,pause, accept, hide,Start,Define ,undefine        下一篇 
Michelle
注册用户
等级:列兵
经验:88
发帖:58
精华:0
注册:2011-8-11
状态:离线
发送短消息息给Michelle 加好友    发送短消息息给Michelle 发消息
发表于: IP:您无权察看 2015-6-29 15:44:38 | [全部帖] [楼主帖] 楼主

Start/@ 命令


用途:执行sql脚本。

脚本内容

desc v$datafile;
select &1 from v$datafile;
select &field from v$datafile;
SQL> start e:\oracle.sql name status;


 名称                                      是否为空? 类型

----------------------------------------- -------- ----------------------------
FILE#                                              NUMBER


………传说中的省略号……..

PLUGIN_RESETLOGS_TIME                              DATE


原值    1: select &1 from v$datafile

新值    1: select name from v$datafile

NAME
--------------------------------------------------------------------------------
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\SYSTEM01.DBF
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\SYSAUX01.DBF
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\UNDOTBS01.DBF
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\USERS01.DBF


输入 field 的值:  status

原值    1: select &field from v$datafile

新值    1: select status from v$datafile

STATUS
-------
SYSTEM
ONLINE
ONLINE
ONLINE


备注:在start命令后面的参数e:\oracle.sql表示要执行的sql脚本,再之后的name表示给脚本中的&1占位符赋值,从运行情况中可以看出status并没有给&field赋值,所以可以知道占位符必须是&加数字

C:\Users\zoucq>sqlplus sys/syspassword as sysdba  @e:\oracle.sql name status


SQL*Plus: Release 11.1.0.6.0 - Production on 星期二 8月 16 14:47:22 2011

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


连接到:

Oracle Database 11g Release 11.1.0.6.0 - Production


 名称                                      是否为空? 类型

----------------------------------------- -------- ----------------------------
FILE#                                              NUMBER


 ………传说中的省略号……..

PLUGIN_RESETLOGS_TIME                              DATE


原值    1: select &1 from v$datafile

新值    1: select name from v$datafile

NAME
--------------------------------------------------------------------------------
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\SYSTEM01.DBF
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\SYSAUX01.DBF
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\UNDOTBS01.DBF
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\USERS01.DBF


输入 field 的值:  status

原值    1: select &field from v$datafile

新值    1: select status from v$datafile

STATUS
-------
SYSTEM
ONLINE
ONLINE
ONLINE


备注:@命令与start命令唯一的区别就是:@可以在未登陆sqlplus时运行。

Define / undefine命令

作用:定义/取消定义一个变量

SQL> define field = status;
SQL> start e:\oracle.sql name;


 名称                                      是否为空? 类型

----------------------------------------- -------- ----------------------------
FILE#                                              NUMBER


  ………传说中的省略号……..

PLUGIN_RESETLOGS_TIME                              DATE


原值    1: select &1 from v$datafile

新值    1: select name from v$datafile

NAME
--------------------------------------------------------------------------------
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\SYSTEM01.DBF
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\SYSAUX01.DBF
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\UNDOTBS01.DBF
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\USERS01.DBF


原值    1: select &field from v$datafile

新值    1: select status from v$datafile 

STATUS
-------
SYSTEM
ONLINE
ONLINE
ONLINE
SQL> undefine field;
SQL>


Prompt / pause / accept / hide命令

作用:prompt 输出提示信息;pause 暂停运行; hide 隐藏输入;accept 指定替换的变量

脚本

accept name prompt '输入字段:' hide

prompt
prompt ==============
prompt 按<ENTER>继续运行
pause


accept field char prompt '输入字段:'

select &name,&field from v$datafile;
SQL> start e:\oracle.sql;


输入字段:

==============

按<ENTER>继续运行

输入字段:status

原值    1: select &name,&field from v$datafile

新值    1: select name,status from v$datafile

NAME
--------------------------------------------------------------------------------
STATUS
-------
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\SYSTEM01.DBF
SYSTEM
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\SYSAUX01.DBF
ONLINE
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\UNDOTBS01.DBF
ONLINE
NAME
--------------------------------------------------------------------------------
STATUS
-------
D:\PROGRAM_FILES\ORACLE\ORADATA\MATERIAL\USERS01.DBF
ONLINE


--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论