oracle如何新建函数 oracle创建过程语句

oracle中如何创建函数,本人用的是pl/sql,初学者,最好能给出例子和详细讲解

下面是一个函数的简单示例!建议阅读相关书籍以便充分理解!毕竟很多细节是很难一一描绘的.系统看看书会比较好!

站在用户的角度思考问题,与客户深入沟通,找到韶山网站设计与韶山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册网站空间、企业邮箱。业务覆盖韶山地区。

函数是有名称的pl/sql块

函数有返回值

在表达式中调用函数

存储在服务器端

CREATE OR REPLACE FUNCTION get_sal

(v_id IN emp.empno%TYPE) RETURN NUMBER

IS

v_salary emp.sal%TYPE :=0;

BEGIN

SELECT sal INTO v_salary FROM emp WHERE empno = v_id;

RETURN (v_salary);

END get_sal;

/

验证对象

select object_name,object_type from user_objects;

查看原程序

select text from user_source;

调用函数

select get_sal(7839) from dual;

删除函数

DROP FUNCTION get_salary;

107 ORACLE 创建存储过程,存储函数

基本概念

存储过程和存储函数相当于一个东西。

存储过程在Oracle里叫procedure。

存储过程没有返回值。

存储函数在Oracle里叫function。

存储函数有返回值。

基本语法

create or replace procedure 名字

--create or replace 意思是创建或者替换

as

--可以在此定义参数

begin

语句;

end;

例:

create  or  replace   procedure   sayhello

as

--说明 相当与declare

begin

dbms_output.put_line('Hello World');

end;

基本调用

begin

-- Call the procedure

sayhello;

sayhello;

sayhello;

end;

带参数的存储过程--查询某个员工的年收入

create or replace procedure upmoney(testname in test_procedure.name%type) 

as

begin 

update test_procedure t set t.money = t.money + 1000

where t.name = testname; 

end 

upmoney;

特别的地方,参数要指明是输入参数还是输出参数。

存储函数

create or replace function Fupmoney(tname in varchar2)    return number

as     --定义月薪参数

tmoney test_procedure.money%type;

begin

--得到月薪

select t.money

into tmoney

from test_procedure t

where t.name = tname;

dbms_output.put_line(tmoney*12);

return(tmoney*12);

end;

创建一个多输出参数的存储函数例子

create or replace procedure manyparm(tname in varchar2,

                                tjob out varchar2,

                                tmoney out number,

                                tdept out varchar2)

is

begin

select t.job,t.money,t.dept

  into tjob,tmoney,tdept

  from test_procedure t

  where t.name = tname;

end manyparm;

oracle 怎么创建一个函数?

create or replace

FUNCTION "函数名"

(

A in number,

B in number,

name in VARCHAR2

)

BEGIN

insert into 表名 values(A+B,name);

END 函数名;

//花括号里边就是需要传的参数,name如果是固定的可以直接写死,就不用传参了

如何创建oracle函数

create or replace function f(d number)

return varchar

is

begin

return substr(d,instr(d,'.')+1);

end f;

select f(12.34) from dual;


网站栏目:oracle如何新建函数 oracle创建过程语句
文章源于:http://scyanting.com/article/hpcohs.html