Oracle中调用函数的方法

创建表

create table EMP
(
  empno VARCHAR2(16) not null,
  ename VARCHAR2(16) not null,
  sal   NUMBER,
  comm  NUMBER,
  job   VARCHAR2(16),
  deptno NUMBER
);

添加数据

insert into EMP (empno, ename, sal, comm, job, deptno) values ('7839', 'xiaoming', 1200, 500,  'Actor', 12);
insert into EMP (empno, ename, sal, job, deptno) values ('7566', 'xiaowang', 800, 'Lawyer', 12);
commit;

创建函数

create or replace function nian_xin(pempno in number)
return number
as
psal emp.sal%type;
pcomm emp.comm%type;
begin
  select sal,comm into psal,pcomm from emp where empno = pempno;
return psal*12+nvl(pcomm,0);
end;
/

 

1、PLSQL代码块

SQL>  set serveroutput on 
SQL> declare
  2  v_a emp.sal%type;
  3  v_b emp.sal%type;
  4  begin
  5    v_a:=nian_xin(7839);
  6    v_b:=nian_xin(7566);
  7     dbms_output.put_line('年薪:'||v_a);
  8     dbms_output.put_line('年薪:'||v_b);
  9  end;
 10  /
年薪:14900
年薪:9600
PL/SQL procedure successfully completed

2、execute

SQL> variable v_a number
SQL> execute  :v_a     :=nian_xin(7839)
PL/SQL procedure successfully completed
v_a
---------
14900

3、call

SQL> var v_a1 number
SQL>  call nian_xin(7839) into :v_a1;
Method called
v_a1
---------

4、select (这里的表可以随便选,表中有多少条数据会有打印多少条数据)

SQL> select nian_xin(7566) from emp;
NIAN_XIN(7566)
--------------
          9600
          9600

5、函数的嵌套使用

SQL> execute dbms_output.put_line(get_sal(7902));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值