首页 百科知识 *启动与关闭

*启动与关闭

时间:2023-10-09 百科知识 版权反馈
【摘要】:省略该项时,SQL*Plus在启动过程中将以交互方式提示用户输入连接账户名及其口令等。/nolog说明只启动SQL*Plus程序,而不建立与具体Oracle数据库的连接。以这种方式启动SQL*Plus后,用户在执行所有数据库操作之前必须使用SQL*Plus的CONNECT命令建立与数据库的有效连接。启动文件的作用与SQL*Plus的START命令作用相同。COMMIT和ROLLBACK:分别说明在SQL*Plus退出时提交或回滚SQL*Plus对数据库已做的修改操作,COMMIT为EXIT命令的默认取值。

5.1 SQL*Plus启动与关闭

SQL*Plus是实用程序sqlplus.exe(DOS命令行格式)和sqlplus.exe(Windows GUI格式)的统称,这两个程序界面风格不同,但它们的操作方法、命令和输出格式基本一样。

5.1.1 基于DOS方式的启动与关闭

(1)单击“开始”菜单,选择“运行”选项,在运行对话框里键入cmd,一进入DOS控制台以后在提示符下键入sqlplus-?。出现如图5-1所示的画面。

img66

图5-1 SQL*Plus的在线帮助

SQL*Plus程序的语法格式为:

SQLPLUS[〈option〉][logon][@〈file〉[.ext]

[<param1><param2>…]]

其中,<option>选项说明SQL*Plus的启动方式,其语法格式为:

{-1-?-s[ilent]}

-?或者-H要求显示SQL*Plus程序的使用语法。

-V显示SQL*Plus版本号。例如,作者执行sqlplus-V命令所显示的SQL*Plus程序版本号如图5-2所示。

img67

图5-2 查询版本号

-s[ilent]参数要求以哑模式启动和运行SQL*Plus。在这种模式下,SQL*Plus在启动和运行过程中不显示提示住处和说明性内容,其中包括SQL*Plus的提示符(SQL>)。哑模式适合在其他应用程序中调用SQL*Plus,这使用户感觉不到SQL*Plus多余的显示信息。

<logon>参数也为选项,它指出SQL*Plus是否连接数据库,以及连接参数。省略该项时,SQL*Plus在启动过程中将以交互方式提示用户输入连接账户名及其口令等。<logon>参数的语法格式为:

<username>[/<password>][@<connect_string>]//nolog

其中,<username>[/<password>][@<connect_string>]参数字符串说明SQL*Plus所连接数据库的网络服务名称connect-string,以及建立连接时所使用的用户账户username和口令password。/说明用户使用操作系统认证方式自动连接数据库。采用自动登录方式时,需要在数据库中为Windows NT或Windows 98/95操作系统用户(USERNAME)建立一个账户,账户名称为<PREFIX>。

USERNAME,其中账户名称前缀部分<PREFIX>应与数据库初始化参数文件中的OS-AUTHENT-PREFIX参数值相同。

/nolog说明只启动SQL*Plus程序,而不建立与具体Oracle数据库的连接。以这种方式启动SQL*Plus后,用户在执行所有数据库操作之前必须使用SQL*Plus的CONNECT命令建立与数据库的有效连接。SQL*Plus的最后一个参数[@<file>[.ext][<paraml><param2>]…]设置Sql*Plus程序启动文件名称参数,当SQL*Plus启动后立即执行该命令文件。启动文件的作用与SQL*Plus的START命令作用相同。其中,file说明命令文件名称。

ext指出命令文件扩展名,默认时文件扩展名为.sql。

paraml、param2、……说明命令文件所使用的参数值,在启动文件内使用&1、&2…….等分别引用第一、二、……个参数值。

(2)下面命令使用scott账户(口令为tiger)连接Myoracle数据库。

sqlplus scott/tiger@myoracle

运行结果如图5-3所示。

img68

图5-3 连接到数据库

(3)在SQL提示符下使用输入查询语句“select 2 from scott.emp;”,执行结果如图5-4所示。注意,在SQL语法中,;(分号)是语句结束的标志。

img69

图5-4 执行查询语句

(4)执行完毕后,输入quit或者exit命令返回DOS控制台,如图5-5所示。

img70

图5-5 返回DOS控制台

5.1.2 基于Windows方式的启动与关闭

(1)单击“开始”按钮,在程序组中选择\Oracle-OraHome92\Application Development\SQL Plus选项,打开如图5-6所示对话框。

img71

图5-6 SQL*Plus登录对话框

在用户名称文本框输入scott,在口令文本框中输入tiger,在主机字符串栏中填人数据库别名。如果省略了主机字符串,SQL Plus会试图连接到在变量ORACLE_SID中定义的本地数据库。

(2)成功连接数据库后出现如图5-7所示界面,在菜单栏里有一些常见的菜单命令可以帮助执行并保存SQL查询语句。

img72

图5-7 连接到数据库

(3)输入查询语句“select﹡from scott.emp;”,结果如图5-8所示。

img73

图5-8 执行查询语句

(4)使用disconnect命令中断与数据库的会话连接;如果要再次连接,可以使用connect命令。执行结果如图5-9所示。

img74

图5-9 断开连接和再次连接

(5)如果想更改口令,可以使用PASSWORD命令。相关的口令不会在屏幕上回显出来(如图5-10所示)。用户名参数是可选的。如果没有包含用户名参数,则此命令会更改当前用户的口令。如果想更改另一个用户的口令,必须有ALTERUSER特权。

img75

图5-10 更改用户口令

(6)如果想从SQL*Plus中退出,在SQL提示符下输入quit或者exit返回到Windows状态。quit和exit是同义词。

5.1.3 关闭SQL*Plus

执行SQL﹡Plus命令EXIT或QUIT即可退出SQL*Plus,该命令完整的语法格式为:

{EXIT│QUIT}[SUCCESS│FAILURE│WARNING│n│variable│:BindVariable]

[COMMIT│ROLLBACK]

其中:

SUCCESS:说明程序正常退出。

FAILURE:说明程序执行失效而退出,并返回一个错误代码。

WARNING:指示程序退出,并返回警告代码。

N:为整数,它是程序所返回的代码。

Variable:为用户定义变量或系统变量,其值作为SQL*Plus的返回码。

:BindVariable:为SQL*Plus的VARIABLE命令所定义的变量,其值也可作为SQL*Plus的返回码。

COMMIT和ROLLBACK:分别说明在SQL*Plus退出时提交或回滚SQL*Plus对数据库已做的修改操作,COMMIT为EXIT命令的默认取值。

例如,下面命令将变量ErrCode值作为错误代码返回,并提交所有未提交的事务:

EXIT ErrCode

除EXITT和QUIT命令外,执行WHENEVER SQLERROR命令也可以使SQL*PIus在遇到任何SQL或PL/SQL语句错误时退出(WHENEVER SQLERROR命令对SQL*PIus命令错误无效)。WHENEVER SQLERROR命令的语法格式为:

WHENEVER SQLERROR

{EXIT[SUCCESS│FAILURE│WARNING│n│variable│:BindVariable]

[COMMIT│ROLLBACK]

CONTINUE[COMMIT│ROLLBACK│NONE]}

其中,EXIT子句使SQL*Plus在遇到SQL或PL/SQL语句错误时停止执行其后的所有命令或语句而立即退出,EXIT子句中各选项的作用与EXIT命令中的对应选项相同。

CONTINUE子句的作用是关闭EXIT子句,它使SQL*Plus在遇到SQL或PL/SQL语句错误时继续执行,但其中的COMMIT和ROLLBACK选项分别要求SQL*Plus在继续执行前要执行COMMIT或ROLLBACK语句来提交或回滚提交的事务,而NONE选项则指示SQL*Plus继续之前不执行其他任何操作。

下面命令说明WHENEVER SQLERROR命令的使用方法,它要求SQL*Plus在遇到SQL或PL/SQL语句错误时退出,并返回执行最后一个语句所产生的错误代码:

WHENEVER SQLERROR EXIT SQL.SQLCODE

SELECT*FROM dept;

SELECT*FROM dep;

SELECT*FROM dept;

上面命令文件的在DOS界面的SQL Plus执行结果如图5-11所示(在Windows中的SQL*Plus执行会自动返回Windows,而看不到执行结果),由于其中第二条SQL语句存在错误,所以SQL*Plus执行该语句后立即退出,而使第三条SQL语句未得到执行。

img76

图5-11 WHENEVER SQLERROR命令的执行结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈