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

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

 2009-06-09 13:15:41 来源:WEB开发网   
核心提示: BeginSelect venadd1 into a from vendor_master where vencode=’V002’;Dbms_output.put_line(a);ROLLBACK;END;/EXEC P1;函数:与过程相似,遵循了相同的规则,Or

Begin

Select venadd1 into a from vendor_master where vencode=’V002’;

Dbms_output.put_line(a);

ROLLBACK;

END;

/

EXEC P1;

函数:

与过程相似,遵循了相同的规则。

参数传递:只能带有in参数,不能使用out, in out 参数

函数的主要特性是必须返回一个值。

语法:

CREATE [OR REPLACE] FUNCTION function_name (参数)

RETURN datatype

IS | AS

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

[本地变量声明]

BEGIN

执行语句部分

[EXCEPTION]

错误处理部分

END[name];

/

返回值:

定义函数的时候必须使用RETURN datatype 子句,表示函数要返回的数据类型。

在函数体中的任何地方,都可以使用 RETURN <表达式>返回值,类型要和定义中的相同。

CREATE OR REPLACE

FUNCTION my_func

RETURN varchar2

As

Begin

Return ‘HELLO, WORLD’;

END;

/

调用函数:

用户必须要获取返回值,所以调用时,要声明一个局域变量:

set serveroutput on

declare

l_str varchar2(100) := null;

begin

l_str := my_func;

dbms_output.put_line(l_str);

end;

/

也可以将函数用作其他过程以及函数的IN参数。

Create or replace

Procedure show_it(p varchar2) as

Begin

Dbms_output.put_line(p);

End;

/

exec show_it(my_func);

练习:

编写一个函数ITE,实现:boolean expression ? true_value: false_value

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Oracle 概念 过程

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