Oracle Function 用法

來源:互聯網
上載者:User
方法 一:帶入與 TABLE 同型態的變數

CREATE OR REPLACE FUNCTION F_Get_Cust_Name (V_NO  IN CUSTOMER.NO%TYPE,V_COMPNO  IN CUSTOMER.COMPNO%TYPE)
RETURN CUSTOMER.NAME%TYPE
IS
V_NAME  CUSTOMER.NAME%TYPE;
BEGIN 
   SELECT CUSTOMER.NAME INTO V_NAME
   FROM CUSTOMER
   WHERE  
   NO=V_NO  AND  COMPNO=V_COMPNO ;
   RETURN V_NAME;
   EXCEPTION WHEN NO_DATA_FOUND THEN RETURN ' '; ---錯誤回空白
END;

方法 二:帶入自定型態的變數

CREATE OR REPLACE FUNCTION F_Get_Cust_Name (V_NO  IN VARCHAR2,V_COMPNO  IN VARCHAR2)
RETURN VARCHAR2
IS
V_NAME  VARCHAR2;
BEGIN 
   SELECT CUSTOMER.NAME INTO V_NAME
   FROM CUSTOMER
   WHERE  
   NO=V_NO  AND  COMPNO=V_COMPNO ;
   RETURN V_NAME;
   EXCEPTION WHEN NO_DATA_FOUND THEN RETURN ' '; ---錯誤回空白
END;

例:--1為正確登陸
--2為密碼不正確
--3為賬戶不存在
--返回數值型
create or replace function GetAccount(acc_id in MEMBERS.ACCOUNT_ID%type,acc_pwd in MEMBERS.ACCOUNT_PASSWORD%type)
return number
is
  v_result number;
  v_count number;
  v_acc_pwd MEMBERS.ACCOUNT_PASSWORD%type;
begin

select count(*) as count, MEMBERS.ACCOUNT_PASSWORD into v_count,v_acc_pwd
from MEMBERS
where MEMBERS.ACCOUNT_ID=acc_id
group by MEMBERS.ACCOUNT_PASSWORD;

if v_count>0
then
 if v_acc_pwd=acc_pwd then
   v_result:=1;
  else
  v_result:=2;
  end if;
else
v_result:=3;
end if;

 return v_result; 
EXCEPTION WHEN NO_DATA_FOUND THEN RETURN 3;
end;轉自:http://tw.myblog.yahoo.com/adar168-ADARA/article?mid=252&l=f&fid=7#yarttrk

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.