WEB开发网
开发学院数据库Oracle Oracle概念:过程、函数、程序包 阅读

Oracle概念:过程、函数、程序包

 2009-06-09 13:15:41 来源:WEB开发网   
核心提示:之前学习的PL/SQL块是匿名的,不能将其存储 href="http://storage.it168.com/" target=_blank>存储到数据库中,Oracle概念:过程、函数、程序包, 我们可以命名我们的PL/SQL块,并为他们确定参数,用户才可以运行它,而将它赋予PUBLIC用户

之前学习的PL/SQL块是匿名的,不能将其存储 href="http://storage.it168.com/" target=_blank>存储到数据库中。

我们可以命名我们的PL/SQL块,并为他们确定参数,存储在数据库中。这样可以从任何数据库客户端或者工具引用和运行他们,比如SQL*PLUS, Pro*C, JDBC。这些命名的PL/SQL块成为存储过程和函数,他们的集合成为程序包。

优点:

1. 可重用性:一旦命名并保存在数据库中后,任何应用都可以

2. 抽象和数据隐藏

3. 安全 href="http://safe.it168.com/" target=_blank>安全性

过程

存储过程就是命了名的PL/SQL块,可以被赋予参数,存储在数据库中,然后由另一个应用或者PL/SQL例程调用。比如

CREATE PROCEDURE my_proc as

BEGIN

NULL;

END;

/

语法:

CREATE [OR REPLACE] PROCEDURE procedure_name (参数)

IS | AS

[PRAGMA AUTONOMOUS_TRANACTION;] --声明自主事务处理。

[本地变量声明]

BEGIN

执行语句部分

[EXCEPTION]

错误处理部分

END[name];

/

CREATE OR REPLACE PROCEDURE my_proc as -- OR REPLACE

BEGIN

Dbms_output.put_line(‘Hello, world’);

END;

/

执行存储过程

set serveroutput on

begin

my_proc

end;

/

直接执行:

execute my_proc

exec my_proc

权限:

表和视图具有SELECT, INSERT, UPDATE, DELETE 这样的特权,而过程具有EXECUTE特权。只有将EXECUTE 特权赋予用户,用户才可以运行它。而将它赋予PUBLIC用户,则所有用户都可以运行。

1 2 3 4 5 6  下一页

Tags:Oracle 概念 过程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接