oracle函数编写

系统 2026 0

函数



定义: CREATE [OR REPLACE] FUNCTION <过程名>[(参数列表)] RETURN 数据类型 IS
         [局部变量声明]
         BEGIN
            可执行语句
          EXCEPTION
            异常处理语句
          END [<过程名>];

变量的类型:in 为默认类型,表示输入; out 表示只输出;in out 表示即输入又输出;


使用:
   示例:
创建函数:
create or replace function f_1(n number) return number is
    r emp%rowtype;
BEGIN
     dbms_output.put_line('姓名 薪水');
     select * into r from emp where empno=n;
     dbms_output.put_line(r.ename||' '||r.sal);    --输出结果,需要 set serverout on 才能显示.
     return r.sal;
END;
使用函数:
declare
    n number;
     m number;
begin
    n:=&请输入员工号;
    m:=f_1(n);
    dbms_output.put_line('m的值为 '||m);
end;



删除函数:
   
DROP FUNCTION <函数名>;

 

 

第一步:创建函数,并运行

create or replace function printNameAndAge
(
    username in nvarchar2,     -- 用户名  只表示输入
  age  in out number              -- 年龄  表示即输入又输出;
)
return varchar2  -- 返回的类型
is
    temp nvarchar2(200);      -- 声明变量
begin
   
    temp := '用户名:'||username||'   年龄:'||age;
     age := age+10;  --改变年龄的值,
    return temp;
end;

 

第二步: 调用函数

 

方式一:
declare
  username nvarchar2(200);
  age number;
  temp nvarchar2(200);
 
begin
  username := 'yun';
  age := 25;
 
  temp := printNameAndAge(username,age); -- 调用函数
 
  dbms_output.put_line('temp=='||temp); -- 打印函数的返回值
  dbms_output.put_line('age=='||age);   -- 打印查看函数调用后的年龄的值 因为age是 in out方式的,在函数中进行了   --改变后,在函数外部使用时候, 是被改变后的值
end;

方式二:
select printNameAndAge('aa',66) from dual;

 

第三步: 删除函数

drop function printNameAndAge;

oracle函数编写


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论