SQL*Plus

PL/SQL是为Oracle提供的面向过程的数据库编程语言,它具有一般编程语言所具有的顺序、选择和循环等控制结构特征,属于第四代编程语言。它提供了诸如封装、集合类型、对象类型、异常处理以及信息隐藏等现代特征。PL/SQL也提供了对Oracle Server的无缝存取及与Oracle Server、开发工具及安全的紧密集成功能。使用PL/SQL可以创建和使用数据库中的所有对象,如存储过程、函数、包、触发器以及数据类型等。PL/SQL在数据库与过程化编程语言之间架起了一座桥梁。
那么,在Oracle环境中,在何处使用SQL和PL/SQL呢?
事实上,SQL*Plus就是Oracle系统为用户提供的使用SQL和PL/SQL进行创建和管理使用数据库对象,并与Oracle服务器进行交互的前端工具。
在SQL*Plus环境下执行SQL和PL/SQL命令创建的对象,也可以直接在Oracle企业管理器中通过图形化界面直接创建,无需使用SQL命令。
在Oracle菜单组中可以找到SQL*Plus。在Oracle_Base/Oracle_Home/bin目录中,如D:/oracle/product/10.2.0/db_1/bin,同样可以看到SQLPlus.exe和SQLPlusw.exe两个可执行文件。这两个文件主要用于本地数据库。sqlplus.exe是基于命令行的数据库交互工具;sqlplusw.exe是基于命令行式与基于编辑式风格于一体的编辑运行环境,它对应于菜单中的SQL*Plus。
3.2.1SQL*Plus工具的主要功能
SQL*Plus工具主要用来做数据查询和数据处理。利用SQL*Plus可将SQL和Oracle专有的PL/SQL结合起来进行数据查询和处理。SQL*Plus工具具备以下功能:
  ·插入、修改、删除、查询,以及执行SQL、PL/SQL块。
  ·查询结果的格式化、运算处理、保存、打印以及输出Web格式。
  ·显示任何一个表的字段定义,并与终端用户交互。
  ·连接数据库,定义变量。
  ·完成数据库管理。
  ·运行存储在数据库中的子程序或包。
  ·启动/停止数据库实例,要完成该功能,必须以sysdba身份登录数据库。
3.2.2启动SQL*Plus并快速登录数据库的方法
如果要通过某种工具来获取数据库中的数据,必须首先通过预先设定的帐户和口令来登录数据库。
1.菜单组中SQL*Plus的快速启动与登录
方法1:在菜单组中单击“SQLPlus”,启动SQL*Plus 。
如图3-2所示,在“用户名称”一栏中输入要登录的用户名称,此处为Scott,口令一栏为Tiger,在“主机字符串”一栏中输入所要连接的数据库网络服务名,一般来说,网络服务名与数据库SID取名相同,此处为Test。
用户名称也可以为scott/tiger@test,如图3-3所示。如果用sys登录,则可采用sys/sys@test as sysdba形式。但不提倡使用这种方式,主要是容易暴露口令。此时,“主机字符串”一项使用默认的数据库SID。
方法2:启动“C:/命令提示符”,并在命令提示行内输入:sqlplusw scott/tiger@test即可直接登录数据库test。
        
图3-2 SQL*Plus的快速启动与登录(1)      图3-3SQL*Plus的快速启动与登录(2)
方法3:为SQL*Plus建立快捷方式,通过快捷方式启动并直接登录数据库,无需再输入帐户和口令。当然,这种方式易于暴露帐户和口令,具体步骤如下。
1)在路径D:/oracle/product/10.2.0/db_1/BIN/中找到sqlplusw.exe。
2)单击右键选取“快捷方式”。
3)在建好的“快捷方式sqlplusw”上单击右键,选取“属性”。
4)在“属性”的“目标”栏中添加如下样式的参数:
D:/oracle/product/10.2.0/db_1/bin/sqlplusw.exescott/tiger@test
然后单击“确定”按钮,并将该“快捷方式sqlplusw”拖到桌面,如图3-4所示。
图3-4  SQL*Plus建立快捷方式
2.基于命令行的SQL*Plus的快速启动与登录
方法1:直接在命令行内键入sqlplus并启动,根据系统提示,输入用户名scott,口令tiger,即可。
方法2:选择“开始”→“运行”在其中键入sqlplus user_name/password@SID,即可直接登录连接,如图3-5所示。
例如:sqlplus scott/tiger@test;
图3-5 基于命令行的SQL*Plus的快速启动/登录
方法3:选择“开始”→“附件”→“c:/命令提示符”,在当前命令行内键入:
sqlplus user_name/password@<SID>,其他同上。
方法4:建立快捷方式,通过快捷方式启动并直接登录数据库。方法如下:
1)在路径D:/oracle/product/10.2.0/db_1/bin/中找到sqlplus.exe。
2)单击右键选取“快捷方式”。
3)在建好的“快捷方式sqlplus”上单击右键,选取“属性”。
4)在“属性”的“目标”栏中加入如下样式的参数:
D:/oracle/product/10.2.0/db_1/bin/sqlplus.exe scott/tiger@test
然后单击“确定”按钮,并将该“快捷方式sqlplus”拖到桌面,如图3-6所示。
图3-6SQL*Plus快捷方式
3.2.3SQL语句、PL/SQL块和SQL*Plus命令之间的区别
在SQL*Plus中可以处理三种类型的命令:SQL语句、PL/SQL块和SQL*Plus命令。
但三者之间是有区别的。
1)SQL语句是以数据库为操作对象的语言,主要包括数据定义语言DDL、数据操纵语言DML和数据控制语言DCL以及数据存储语言DSL。当输入SQL语句后,SQL*Plus将其保存在内部缓冲区中。
当SQL命令输入完毕时,有三种方法可以结束SQL命令:在命令行的末尾输入分号(;)并按回车;在单独一行上用斜杠(/);或用空行表示。
2)PL/SQL块同样是以数据库中的数据为操作对象。但由于SQL不具备过程控制功能,所以,为了能够与其他语言一样具备面向过程的处理功能,在SQL中加入了诸如循环、选择等面向过程的处理功能,由此形成了PL/SQL。所有PL/SQL语句的解释均由PL/SQL引擎来完成。使用PL/SQL块可编写过程、触发器和包等数据库永久对象。
3)SQL*Plus命令主要用来格式化查询结果、设置选择、编辑及存储SQL命令、以设置查询结果的显示格式,并且可以设置环境选项。
3.2.4SQL*Plus安全限制选项
有时为了防止用户通过SQL*Plus访问操作系统。当调用SQL*Plus时需要声明几个参数。其中,有一个参数可使某些访问操作系统的命令子集失效。该参数为restrict。该参数有三个不同的限制级,如表3-1所示。
启用限制级的命令格式为:
sqlplus<username/password>-r/[estrict/]<restriction level>
例如,如果以scott帐户登录数据库,且限制其从SQL*Plus提交host命令访问操作系统的能力,则启动时用下列格式:
sqlplus scott/tiger -r 1
由表3-1中可以看出,除了限制host和edit命令外,其他命令未做限制。这些命令的限制只在整个SQL*Plus会话周期内有效,一旦退出会话,则限制无效。
3.2.5 Oracle Database 10g新增的几个主要功能
1. 预先定义的变量Oracle 10g有三个预先定义的变量用于SQL*Plus:
  ·_date:包含当前日期或一个用户定义的固定字符串。
  ·_privilege:包含权限级别,如as sysdba、 as sysoper或空格。
  ·_user:包含当前用户名称。
使用这些变量可以自定义SQL*Plus启动后的提示符,例如:
set sqlprompt "_user′@′_connect_identifier_privilege_date>"
这些变量的值可使用不带参数的define命令查看。
2. 查看回收站
使用show recyclebin命令可查看回收站的内容,一般来说,此项操作是在执行清除(purge)回收站或闪回(flashback)恢复之前执行该操作。例如:
scott@db10g>show recyclebin
3. 查看当前连接用户
在命令行中,以sysdba或sysoper权限连接SQL*Plus时,不必再加引号,如以下格式都有效:sqlplus"/as sysdba"和sqlplus/as sysdba,连接后,可用show user查看当前连接的用户。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值