Oracle函数function

--function

/*

函数是有返回值。-只能有一个返回值。



语法

    Create or replace func1(参数)

        Return varchar2

   As

        Pl/sql块

        Return ‘Jack’;



*/

--创建和调用



create or replace  function f1

return varchar2

as

--声明变量

begin

return 'jack';

end;

select f1()from dual;

--在plsql使用

set serveroutput on;

declare

v_name varchar2(30);

begin

--直接调用值调用

v_name:=f1();

DBMS_OUTPUT.PUT_LINE('name is'||v_name);

end;

---接受参数的函数

create or replace function f2(p_w varchar2)

return varchar2

as

v_f char(1);

v_a varchar2(500);

begin

--判断是否有数据

if p_w is null then

return null;

end if;

if length(p_w)=0 then

return null;

end if;

--取第一个字

v_f :=substr(p_w,1,1);

--去剩余

v_a:=substr(p_w,2);

v_a:=lower(v_a);--小写

v_f:=upper(v_f);

--

v_a:=v_f||v_a;

return v_a;

end;



--测试

select f2('abdsds') from dual;

--Abdsds



------------------------------

-------题外话教你一招DBA

--超级管理员下执行干掉其它连接用户

select sid,serial#,username,machine from v$session where username is not null;

--35    45    HR    lx-THINK

alter system kill session '35,45';--可以干掉HR的连接

你可能感兴趣的:(function)