首页 > 数据库 >oracle function 函数

oracle function 函数

时间:2023-04-21 12:06:01浏览次数:42  
标签:function end 函数 get -- varchar2 oracle name


oracle function的几个实例,只限入门,高手路过

 

-- ********the simplest example of function
-- tip: can use sql to directly call the function with in module parameter
create or replace function get_customer_name return varchar2 is
  v_user varchar2(100);
begin
  select customer.KHQC into v_user from t_khxx customer ;
  return v_user;
end;

declare
  v1 varchar2(100);
begin
  v1 := get_customer_name;
  --set serveroutput on
  dbms_output.put_line(v1);
end;

select get_customer_name from dual;------directly call it
--******************the end




-- ********the example of funtion with parameter that can't follow length
-- tip: can use sql to directly call the function with in module parameter

create or replace function get_finance_name(financetype in varchar2)
  return nvarchar2 as
  v_name t_mast.dmnr%type;-- tip:using %type define val instead of 'nvarchar2(40)';
begin
  select mast.dmnr
    into v_name
    from t_mast mast
   where mast.dmlb = '0114'
     and upper(mast.dmbh) = upper(financetype);
  return v_name;
end;

declare
  v1 varchar2(30) := 'rd';
  v2 varchar2(30) := '';
begin
  v2 := get_finance_name(v1);
  select get_finance_name(v1) into v2 from dual; 
  dbms_output.put_line(v2);
end;

select get_finance_name('rd') from dual; -- directly call function in sql

-- *****************the end






-- ********the example of function with parameters with out module that can't follow by length
-- tip: can't use sql to directly call the function with out module parameter

create or replace function get_department(deptname       in varchar2,
                                          deptid         out varchar2,
                                          parentdeptname out varchar2)
  return varchar2 as
  v_id     varchar2(100);
begin
  select dept.bmjc, dept.id
    into parentdeptname,v_id
    from t_bm dept -- when need two or more returns, using parameter with out module
   where dept.bmmc = deptname;
   deptid := v_id;
   return v_id;
end;

declare
  v1 varchar2(100);
  v2 varchar2(100);
  v3 varchar2(100);
  v4 varchar2(100);
begin
  v1 := '有限公司';
  v4 := get_department(v1, v2, v3);
  
end;
-- **************the end

标签:function,end,函数,get,--,varchar2,oracle,name
From: https://blog.51cto.com/u_2465818/6212419

相关文章

  • Python学习(2)-NumPy矩阵与通用函数
    1.NumPy矩阵1.1mat函数mat=asmatrixasmatrix(data,dtype=None):data:表示输入的数组或者字符串,使用‘,’分割列,使用‘;’分割行创建两个普通的矩阵:print(np.mat([1,2,3]))print(np.mat("1,2,3;4,5,6;7,8,9"))--------[[123]][[123][456][789]]需要注意:mat创建的......
  • oracle constraint的属性
    constraint有三个属性:deferrabledeferredvalidated;其中deferrable和deferred联合使用,可以控制何时判断数据完整deferrabledefered就可以在commit时再判断;其中validated和enable联合使用,可以允许旧数据的不完整enablenotvalidated时,即可。 然后转一篇文章,讲解很详细:Oracle......
  • 虚函数计算各种图形面积
    定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、Square(正方形)、Rectangle(长方形)、Trapezoid(梯形)和Triangle(三角形),用虚函数分别计算各种图形的面积,并求出它们的和。要求用基类指针数组。使它的每一个元素指向一个派生类的对象。PI=3.1415926输入格式:请在这里写输入格式。......
  • 机器学习的一些基本概念(函数/标准化/梯度下降/正则化)
    基本概念各种函数损失函数(LossFunction)度量单样本****或者一个批次的样本预测的错误程度,损失函数越小,模型就越好。常用的损失函数包括:0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等代价函数(CostFunction)度量全部样本集的平均误差。常用的代价函数包括均方误差、......
  • scapy函数介绍
    1、读取报文>>>packets=rdpcap("d.pcap")2、查看原始数据>>>raw(packets[0])b'\x00\x16>3\x02d\x00\x16>\\\xf2\xa3\x08\x00E\x00\x00(\x00\x01\x00\x00@\x063\x18\xc0\xa8\x05;\xb5*\xcc\xa9$\xfc\x01\x......
  • Oracle 创建定时任务 DBMS_JOB
    需求:创建一个每天凌晨一点执行的任务(存储过程)1、创建存储过程--一般存储过程语法CREATEORREPLACEPROCEDUREUPDATE_LABEL_TABLE_DATE_DTISBEGIN UPDATEIC_CO_BAE_INFOSETDT=TO_CHAR(TRUNC(SYSDATE-1),'yyyy-MM-dd'); UPDATEIC_RG_RRG_INFO_V1SETDT=TO_CHAR(......
  • Python | isinstance函数的使用
    isinstance是一个Python内置函数,用于检查一个对象是否是指定类或其子类的实例。isinstance(obj,cls)返回一个布尔值,表示obj是否是cls或其子类的实例。类似type()。isinstance()与type()区别:type()不会认为子类是一种父类类型,不考虑继承关系。isinstance()会认......
  • mybatis 调用 oracle 带包存储过程(有out参数)
    https://blog.csdn.net/u010925982/article/details/102958001  1.先写xml映射文件<selectid="call"parameterType="java.util.HashMap"statementType="CALLABLE"resultType="java.util.HashMap"><!--call包名.方法名(参数)-......
  • 7.数组动态创建和函数
    动态创建函数动态函数一维数组动态赋值int*data=newint[3];//动态分配地址for(inti=0;i<3;i++){data[i]=1;cout<<data[i]<<"";}delete[]data;//释放分配的·地址 二维数组动态分配地址int**d......
  • 增加一个成员函数,计算加n秒的时间
    设置Cmytime类。具有三个成员函数Show()int Set(inth,intm,ints)对于Set函数的要求,   1、对于非法赋值不给予执行,三个参数合法范围是:0<=h<=23, 0<=m,s<=59。如何参数非法,本次Set函数不改变原有值。  2、赋值成功,返回1,否则返回0。void AddOneSecond();实......