ORACLE創建函數,調用函數


ORACLE創建函數,調用函數。

函數的定義:
create/replace function 函數名 (參數名 輸入輸出類型 字段類型) return 字段類型 is
變量名 字段類型; --函數的內部變量,需要包含字段類型的長度
begin
主體;
return(變量名);
end 函數名;
要點:
定義函數的參數和輸出類型的時候不需要考慮字段類型的長度;
函數的內部變量需包含字段類型的長度;
函數可以沒有輸入輸出參數,但一定要有返回(return)的數據類型,因此必須有內部變量存儲return的數據;
函數的輸入輸出參數可以在主體中直接使用。
函數的執行:
--sqlplus
var 變量名 字段類型(包含長度);
exec :變量名:=函數名(參數的值,接收輸出變量的變量名)
--developer
select 函數名(參數) from dual;

1.創建函數

CREATE OR REPLACE FUNCTION F_MSG(
  NAME_U IN VARCHAR2,
  NAME_P IN VARCHAR2
)
   RETURN NUMBER IS
   ALL_T NUMBER;

   BEGIN 
     
   SELECT SUM(A.PRODUCT_NUM*A.PRICE)
   INTO ALL_T
   FROM
   PRODUCT_RELEASE A,USER_M B
   WHERE 
   A.USER_ID=B.USER_ID
   AND B.USER_NAME=NAME_U
   AND A.PRODUCT_NAME=NAME_P
   GROUP BY B.USER_NAME,A.PRODUCT_NAME;
   RETURN ALL_T;
   
   END F_MSG;
  

2、調用函數

SELECT F_MSG('張力','護膚水') AS"總額" FROM DUAL;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM