77范文网 - 专业文章范例文档资料分享平台

oracle数据库自学文档整理资料,详细!!!(6)

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

2)、resource角色

resource角色具有应用开发人员需要的其它权限,比如建立存储过程、触发器等。这里需要注意的是resource角色隐含了unlimited tablespace 系统权限。resource

角色具有以下权限:create cluster ,create

indextype ,create table ,create type ,create sequence , create procedure ,create trigger 。 3)、dba角色

dba角色具有所有的系统权限,及with admin option 选项, 默认的dba用户为sys和system 他们可以将任何系统权限授予其它用户。 但是要注意的是dba角色不具备sysdba和sysoper 的特权(启动和关闭数据库)。 2、自定义角色

顾名思义就是自己定义的角色,根据自己的需要来定义。一般是dba来建立,如果用的别的用户来建立,则需要具有create role 的系统权限,在建立角色时可以指定验证方式(不验证,数据库验证等)。 1)、建立角色(不验证)

如果角色是公用的角色,可以采用不验证的方式建立角色。 Create role 角色名 not identified ; 2)、建立角色(数据库验证)

采用这样的方式时,角色名、口令存放在数据库中。当激活该角色时,必须提供口令。在建立这种角色时,需要为其提供口令。

Create role 角色名 identified by shunping ; 3、角色授权

当建立角色时,角色没有任何权限,为了使得角色完成特定任务,必须为其授予相应的系统权限和对象权限。

1、给角色授权

给角色授予权限和给用户授权没有太大区别,但是注意:系统权限的unlimited tablespace 和对象权限的with grant option 选项是不能授予角色的。

Grant create session to 角色名 with admin option

Grant insert ,update , delete on scott.emp to 角色名 4、显示角色信息 1)、显示所有角色

Select * from dba_roles ; 2)、显示角色具有的系统权限

Select privilege,admin_option from role_sys_privs where role =’角色名’ ;

3)、显示角色具有的对象权限

通过查询数据字典视图dba_tab_privs 可以查看角色具有的对象权限或是列的权限。

4)、显示用户具有的角色,及默认角色

当以用户的身份连接到数据库时,oracle 会自动的激活默认的角色,通过查询数据字典视图dba_role_privs 可以显示某个用户具有的所有角色及当前默认的角色。

7 PLSQL编程 7.1 存储过程 1、 2、

块(编程):包含过程(存储过程)、函数、触发器、包。 标示符的命名规范:

1)、定义变量时,建议用v_作为前缀 v_sal

2)、定义常量时,建议用c_作为前缀 c_rate

3)、定义游标时,建议用_cursor 作为后缀 emp_cursor 4)、定义例外时,建议用e_作为前缀 e_error 3、块结构示意图

Pl/sql 块由三个部分组成:定义部分、执行部分、例外处理部分,如下: Declare

/* 定义部分 ----定义常量、变量、 游标、 例外、复杂数据类型 */ Begin

/* 执行部分 ----要执行的pl/sql语句和sql语句 */ Exception

/* 例外处理部分 ----处理运行的各种错误 */ End ;

4、set serveroutput on ----打开输出选项

set serveroutput off ---关闭输出选项

dbms_output.put_line(‘hello’) ;

5、包含定义部分和执行部分的pl/sql块。 Declare

V_ename varcha2(5) ; ----定义字符串变量

Begin

Select ename into v_ename from emp where empno=&no ;

Dbms_output.put_line(‘雇员名:’|| v_ename) ;

Exception

When no_data_found then

Dbms_output.put_line(‘朋友,你的编号输入有错误! ’);

End ; /

7.2 包

包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。包的规范只包含了过程和函数的说明,但是没有过程和函数的实现代码,包体用于实现包规范中的过程和函数。

我们可以使用create package 命令来创建包; 建立包体可以使用create package body 命令。

当调用包的过程和函数时,在过程和函数前需要带上包名,如果要访问其它方案的包,还需要在包名前加方案名。

7.3 触发器

触发器是指隐含的执行的存储过程。当定义触发器时,必须要指定触发的事件和触发的操作,常用的触发事件包含insert , update , delete 语句,而触发操作实际就是一个pl/sql块。可以使用create tigger 来建立触发器。 触发器可以维护数据库的安全和一致性。

7.4 定义并使用变量

在编写pl/sql程序时,可以定义变量和常量;在pl/sql程序中包括有: 1、 标量类型(scalar)。2、复合类型( composite) 。3、参照类型(reference)。4、lob(large object).。

标量(scalar)--常用类型

在编写pl/sql程序时,如果要使用变量,需在定义部分定义变量。Pl/sql 中定义变量和常量的语法如下:

Identifier [constant ] datatype [ not null ] [: = default expr ]

Identifier : 名称

Constant :指定常量。需要指定它的初始值,且其值是不能改变的。

Datatype:数据类型

Not null :指定变量值不能为null

:= 给变量或是常量指定初始值

Default 用于指定初始值

Expr: 指定初始值的pl/sql 表达式,可是文本值、其它变量、函数等。 2、标量定义的案例

1、定义一个变长字符串 v_ename varchar2(10)

2、定义一个小数 范围 -9999.99~9999.99 v_sal number(6,2) ; 3、定义一个小数并给一个初始值为5.4:=是pl/sql的赋值号

V_sal2 number(6,2): = 5.4

4、定义一个日期类型的数据

V_hiredate date ;

5、定义一个布尔变量,不能为空,初始值为false.

V_valid boolean not null default false ;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库oracle数据库自学文档整理资料,详细!!!(6)在线全文阅读。

oracle数据库自学文档整理资料,详细!!!(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/466799.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: