plsql guide(基础详解)(6)

2019-04-01 23:16

系统权限授权格式:

角色:即是一组相似的权限,可以用来同一授权给一些用户。这样把相似的权限统一起来,易于给用户授权和维护系统权限,同时,一个用户也可以被授予多个角色权限。 用例如下:

CREATE ROLE role; GRANT create table, create view TO manager; GRANT manager TO userA, userB; 对象权限:

GRANT { object_priv (, object_priv …) | ALL } [ ( columns ) ] ON object TO { user [, user … ] | role [PUBLIC] [WITH GRANT OPTION] 注意以下几点: 1. 2. 3. 4.

DBA可授权给用户,对特定的对象执行某项操作; 对象权限因对相的不同类型而有区别; 对象的所有者拥有对象的所有权限; 对象的所有者可以对对象授予特定的权限。

格式如下: 例:

GRANT update ( last_name, first_name, address ) ON t_emp TO manager

在Oracle系统中,可通过如下数据字典查看用户权限情况: 数据字典表 ROLE_SYS_RPIVS ROLE_TAB_PRIVS USER_ROLE_PRIVS 说明 授予角色的系统权限 授予据色的表权限 用户可使用的角色 USER_TAB_PRIVS_MADE 用户对象所授予的对象权限 USER_TAB_PRIVS_RECD 用户所授予的对象权限 USER_COL_PRIVS_MADE 用户对象列所授予的对象权限 USER_COL_PRIVS_RECD 用户在特定的列上所授予的权限

23

Company Confidential - For internal use only

权限的回收:

通过使用revoke命令可以收回授予其他用户的权限,同时授予用户的with grant option也会收回。 格式如下:

REVOKE {privilege [, privilege …] | ALL } ON object FORM { user [,user …] | role | PUBLIC } [CASCADE CONSTRAINTS] 例:

REVOKE select, insert ON S_EMP FORM manager;

创建同义词:

为了引用其他用户的某个表,必须使用这个表的全称,即是用户名加表名,通过使用同义词就可避免这个麻烦,可以引用其他用户的表、视图、序列、过程或是其他别的对象。 格式如下:

CREATE [PUBLIC] SYNONYM synonym FOR object; 说明: PUBLIC Synonym Object 例:

CREATE SYNONYM T_EMP FOR scott.t_tmp;

远程数据库的访问:

通过使用数据库链接,用户可以将一组分布的数据库作为一个单一的、集成的数据库来处理。

数据库链接需要SQL*NET运行在远程数据库访问中所涉及到的每一台主机上(“HOSTS”),通常SQL*NET由数据库管理员(DBA)或系统管理员启动。

创建数据库链接语法:

所有用户都可访问的同义词 创建的同义词名 同义词的引用源

24

Company Confidential - For internal use only

Create [public] database link remote_connect Connect to username identified by password Using ?connect string‘ 当建立数据库链接是具体使用的语法取决于下面两个条件: 1. 2.

数据库链接的“公共”或“私有”状态。 使用缺省还是显示方式登录远程数据库。

为了建立数据库链接,必须拥有CREATE DATABASE LINK系统权限,用来连接远程数据库的账号必须拥有CREATE SESSION特权。这两种系统特权都包含在Oracle中的CONNECT角色中。

通过使用数据库链接和同义词来隐藏数据库的物理存放位置,如下:create synonym emp for emp@remote_connect;

Company Confidential - For internal use only

25

UNIT4 PL/SQL

单元培训目标

?

掌握PL/SQL常用语法; 使用Oracle Procedure Builder;

能创建包、函数和过程解决一些复杂问题; 掌握出错流程处理

?

?

?

LESSON 1简单PL/SQL

PL/SQL是Oracle扩展的、具有程序设计特色的程序语言,它可以把数据维护和数据检索容入在程序过程当中。 PL/SQL结构

DECLARE -可选项 - 变量,常数,游标,用户定义的例外 BEGIN - Mandatory - SQL 语句 - PL/SQL 控制语句 EXCEPTION – 可选项 - 例外处理 END; Declarative[optional]:包括所有变量、常量、游标和用户定的例外等 Executable [Mandatory]:包括各种SQL代码和PL/SQL代码等 Exception Handling [optional]:对各种例外情况的处理

通常,每一个PL/SQL单元包含一个或多个块结构,这些块之间可以是完全独立的,也可以是一个块在另一个块里面。即是,一个块又能被分为若干个更小的块。 下面是一些典型的PL/SQL程序结构: 程序结构 匿名块 说明 没有特定名称的PL/SQL块,存在于APPLICATION中 命名PL/SQL块,能接受参数和重复调用 命名PL/SQL块,能接受参数和重复调用 命名PL/SQL模块,包含相关的Procedure、function使用位置 所有PL/SQL环境 数据库procedure、function Application Procedure、function Package Oracle database Server Developer 2000的组件,例如FORMS Oracle database Server

26

Company Confidential - For internal use only

和变量 Database trigger 与数据库表联系在一起的PL/SQL块,能自动触发 与Application事件联系在一起的PL/SQL块,能自动触发 Oracle database Server Application trigger Developer 2000的组件,例如FORMS

匿名块,过程和函数 I.匿名块

[DECLARE] BEGIN -- 语句 [EXCEPTION] END; II.过程

PROCEDURE name is BEGIN -- 语句 [EXCEPTION] END; III.函数

FUNCTION name RETURN datatype IS BEGIN -- 语句 RETURN VALUE [EXCEPTION] END;

过程 作为一段PL/SQL代码执行 没有返回数据类型 可以返回一个或多个值 包

包是被集中到单独一个单元的一组过程、函数、变量和SQL语句。为了执行一个保中

过程与函数的对比:

函数 作为一个表达式调用 必须包含返回数据类型 必须且只能返回一个值

27

Company Confidential - For internal use only


plsql guide(基础详解)(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小区高清数字监控系统技术方案书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: