oracle怎么建立函数,oracle函数怎么写

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 如何在包里创建一个简单的函数和存储过程

25、包

(1)定义包头

语法:

CREATE [OR REPLACE] PACKAGE [schame_name.]包名

IS | AS

包描述

包描述:可以是变量、常量及数据类型定义和游标定义,也可以是存储过程、函数定义和参数列表返回值类型。

例:

CREATE OR REPLACE PACKAGE employeePackage

AS

--类型定义

Type empRecType is record(

Empno number(4),

Salary number

)

--变量定义

p1 varchar2(20);

type t_departmentNo table is table of dept.deptno%type

index by binary_integer;

--游标定义

Cursor order_sal retrurn EmpRecType;

--聘用员工过程

Procedure HireEmployee(p_EmpNo emp.empno%type);

End employeePackage;

例:

CREATE OR REPLACE PACKAGE scott.pkg_displayproduct

IS

procedure prc_getproductinfo

(

pid scott.product.prodid%type,

pname out scott.product.prodname%type,

ctname out scott.product.CATEGORYID%type,

dscp out scott.product.description%type

);

function fun_getstock

(

pid scott.product.prodid%type

)

return number;

END pkg_displayproduct;

(2)定义包体

语法:

CREATE OR REPLACE PACKAGE BODY [schame_name.]包名

IS | AS

包体描述;

END 包名;

包名:将要创建的包名称,该名称可以和包头所在的包名相同,也可以不同。

包体描述:游标、存储过程或者函数的定义

包体是可选的,如果在包头中没有声明任何存储过程或者函数,则包体就不存在,即使在包头有变量、游标或者类型的声明

(3)引用包中对象

BEGIN

[schame_name.][包名.]对象名;

END;

用oracle定义一个函数,怎么定义?

create or replace function test(p1 in number, p2 in varchar2)

return varchar2 is

v_out varchar2(200);

begin

select flag_name

into v_out

from PU_META_PLAT.MD_META_DIM_CODE

where dim_table_id = p1

and flag_code in

(SELECT trim(substr(',' || p2 || ',',

instr(',' || p2 || ',', ',', 1, LEVEL) + 1,

instr(',' || p2 || ',', ',', 1, LEVEL + 1) -

instr(',' || p2 || ',', ',', 1, LEVEL) - 1))

FROM dual

CONNECT BY LEVEL =

(length(',' || p2 || ',') -

length(replace(',' || p2 || ',', ',', ''))) / 1 - 1));

return v_out;

exception

when others then

return null;

end;

oracle如何在包里创建函数与过程

create or replace package Package_Name is

PROCEDURE Main( errbuf OUT VARCHAR2

,retcode OUT NUMBER

,parameter1 IN varchar2

);

FUNCTION function_name (parameter1 IN NUMBER)

RETURN NUMBER;

end Package_Name;

---------

create or replace package body Package_name is

PROCEDURE MAIN(errbuf OUT VARCHAR2

,retcode OUT NUMBER

,parameter1 IN VARCHAR2

)

IS

BEGIN

............

END MAIN;

FUNCTION function_name (parameter IN NUMBER)

RETURN NUMBER

IS

x_cnt NUMBER:=0;

BEGIN

SELECT count(*)

INTO x_cnt

FROM dual

return(x_cnt);

END function_name;

end Package_name;

;

你最好使用PL/SQL Develop 创建包

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;


分享名称:oracle怎么建立函数,oracle函数怎么写
浏览地址:http://scyanting.com/article/dscoppo.html