Oracle函数function

时间:2022-04-28 20:48:40
--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的连接