Oracle存储过程和函数示例

本文提供了PL/SQL中存储过程及函数的实用示例,包括带有输入输出参数的存储过程调用、执行循环以及创建带或不带输入参数的函数。通过这些示例,读者可以更好地理解如何在Oracle数据库中实现业务逻辑。

调用带输入输出参数存储过程:


declare
  t1 varchar2(100);
  t2 varchar2(100);
begin
  t1:='';
  t2:='';
  ES_ORDER_IMPORT_PROC('131015121414434609',t1 ,t2 );
  --dbms_output.put_line(t1);
  --dbms_output.put_line(t2);
end;


执行循环:
declare i integer:=0;
begin
-- i:=0;
loop
  if i>10 then
    exit;
  end if;
  dbms_output.put_line(to_char(i));
  i:=i+1;   
end loop;
end;


不带输入参数函数:

create or replace function functest return varchar2 is
  v_ret varchar2(10);
begin
  select 'abc' into v_ret from dual;
  return v_ret;
end functest;


带输入参数函数:

CREATE OR REPLACE FUNCTION isdate(str varchar2, fmt varchar2 default null, nls varchar2 default null)

RETURN date
IS
  v_date date;
  v_fmt varchar2(100) default fmt;
  v_nls varchar2(100) default nls;
BEGIN
  IF fmt IS NULL THEN
    SELECT value
      INTO v_fmt
      FROM v$nls_parameters
     WHERE parameter='NLS_DATE_FORMAT';
  END IF;
  IF nls IS NULL THEN
    SELECT 'NLS_DATE_LANGUAGE='''||value||''''
      INTO v_nls
      FROM v$nls_parameters
     WHERE parameter='NLS_DATE_LANGUAGE';
  END IF;
  v_date := to_date(str, v_fmt, v_nls);
  RETURN v_date;


  EXCEPTION
    WHEN OTHERS THEN
      /*如果你希望看到报错, 就把下面的注释行打开*/
      --raise;
      RETURN NULL;
END;
/
http://blog.youkuaiyun.com/smartsmile2012/article/details/8242841

转载于:https://my.oschina.net/dong706/blog/172428

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值