--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的連接