sqlplus 命令:Prompt,pause, accept, hide,Start,Define ,undefine

 

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

你可能感兴趣的:(oracle,sql,Date,脚本,database,System)