存储过程中如何写函数

在ORACLE存储过程中如何写函数,最好能给个例子.谢谢!... 在ORACLE存储过程中如何写函数,最好能给个例子.谢谢! 展开
 我来答
忘記丶半世流離
2015-11-02 · TA获得超过241个赞
知道答主
回答量:148
采纳率:50%
帮助的人:47.1万
展开全部
一,存储过程:
1、 在oracle的 配置和移植工具 àNET MANAGER中配置连接
2、 在plsql中新建SQL窗口,编写存储过程
3、 在plsql中新建测试窗口,在begin end之间调用
4、 查看编译错误:在命令窗口中show errors procedure procedure_name
或者 编辑的方式打开存储过程,在编译时会有错误提示

二,存储过程基本语法
create procedure <过程名>(<参数列表,无参时忽略>)
as|is
变量声明、初始化
begin
业务处理、逻辑代码
exception
异常捕获、容错处理
end <过程名>;
参数:<参数名> in|out|in out <参数类型,无长度说明> ,如:v_name varchar2
in:入参
out:出参
in out:出入参
注:as|is表示as或is
调用语法:
1)、exec <过程名>;
2)、execute <过程名>;
3)、在PL/SQL语句块中直接调用。
例:
create or replace procedure up_wap(v_param1 in out varchar2,v_param2 in out varchar2)
is
v_temp varchar2(20);
begin
dbms_output.put_line('交换前参数1:'||v_param1||' 参数2:'||v_param2);
v_temp:=v_param1;
v_param1:=v_param2;
v_param2:=v_temp;
dbms_output.put_line('交换后参数1:'||v_param1||' 参数2:'||v_param2);
exception
when others then dbms_output.put_line('There is a error when the procedure up_wap executing!');
end up_wap;
/
-- 调用存储过程
declare
v_param1 varchar2(20):='param1';
v_param2 varchar2(20):='param2';
begin
up_wap(v_param1 => v_param1,v_param2 => v_param2);
end;
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
aikuxiaozi1
2009-07-28 · TA获得超过165个赞
知道答主
回答量:167
采纳率:0%
帮助的人:112万
展开全部
CREATE OR REPLACE PROCEDURE add_emp
(eno NUMBER,name VARCHAR2,sal NUMBER,job VARCHAR2 DEFAULT 'CLERK',dno NUMBER)
IS
E_integrity EXCEPTION;
PRAGMA EXCEPTION_INIT(e_integrity,-2291);
BEGIN
INSERT INTO emp(empno,ename,sal,job,deptno)
VALUES(eno,name,sal,job,dno);
EXCEPTION
WHEN DUP_VAL_ONINDEX THEN
RAISE_APPLICATION_ERROR(-20000,' 雇员号不能重复');
WHEN E_integrity THEN
RAISE_APPLICATION_ERROR(-20001,'部门号不存在');
END;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
csuxp2008
2009-07-28 · TA获得超过6485个赞
知道大有可为答主
回答量:4704
采纳率:50%
帮助的人:2466万
展开全部
最好在一个包里面定义函数,存储过程。然后在过程里面可以调用函数
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快乐水手zzy
2009-07-28 · TA获得超过186个赞
知道答主
回答量:128
采纳率:0%
帮助的人:99.5万
展开全部
Create Function uf_myfunction (
@param1 varchar(100),
@param2 varchar(100),
@param3 int
)
as
begin

......

end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
皆金32
2015-10-22 · TA获得超过1.5万个赞
知道大有可为答主
回答量:3366
采纳率:84%
帮助的人:281万
展开全部
  最好在一个包里面定义函数,存储过程。然后在过程里面可以调用函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式