中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

2011-11-25 包的初始化

發布時間:2020-08-11 14:06:25 來源:ITPUB博客 閱讀:140 作者:hanaka 欄目:關系型數據庫

http://www.itpub.net/thread-1499223-20-1.html

191樓

為了鼓勵訪問者越來越多地使用我們的網站,我們針對他們的活動給予積分。我們的積分計算方法為基本點數和系數的乘積。如果活動發生在 08:00 之前,系數為3; 如果發生在 16:00 之前,系數為2; 其他的系數為1. 這個公式以如下函數實現:

CREATE OR REPLACE FUNCTION plch_multiplier
RETURN PLS_INTEGER
IS
   c_hour CONSTANT PLS_INTEGER
      := TO_NUMBER (TO_CHAR (SYSDATE, 'HH24')) ;
BEGIN
RETURN CASE
        WHEN c_hour < 8 THEN 3
        WHEN c_hour < 16 THEN 2
        ELSE 1
        END;
END;
/

然后我用這個包里的函數為活動計算積分:

CREATE OR REPLACE PACKAGE plch_pkg
IS
   FUNCTION points_for_activity (base_points_in IN INTEGER)
      RETURN PLS_INTEGER;
END;
/

先不假設我們的應用程序是狀態相關或者狀態無關,哪些選項實現了包體,使得計算總是正確的?

(A)

CREATE OR REPLACE PACKAGE BODY plch_pkg
IS
   g_multiplier   PLS_INTEGER;
   FUNCTION points_for_activity (base_points_in IN INTEGER)
      RETURN PLS_INTEGER
   IS
   BEGIN
      RETURN base_points_in * g_multiplier;
   END;
BEGIN
   g_multiplier := plch_multiplier();
END;
/

(B)

CREATE OR REPLACE PACKAGE BODY plch_pkg
IS
   FUNCTION points_for_activity (base_points_in IN INTEGER)
      RETURN PLS_INTEGER
   IS
   BEGIN
      RETURN base_points_in * plch_multiplier();
   END;
END;
/

(C)

CREATE OR REPLACE PACKAGE BODY plch_pkg
IS
   g_multiplier   PLS_INTEGER;
   FUNCTION points_for_activity (base_points_in IN INTEGER)
      RETURN PLS_INTEGER
   IS
   BEGIN
      IF g_multiplier IS NULL
      THEN
         g_multiplier := plch_multiplier();
      END IF;
      RETURN base_points_in * g_multiplier;
   END;
END;
/

(D)

CREATE OR REPLACE PACKAGE BODY plch_pkg
IS
   g_multiplier   PLS_INTEGER := plch_multiplier();
   FUNCTION points_for_activity (base_points_in IN INTEGER)
      RETURN PLS_INTEGER
   IS
   BEGIN
      RETURN base_points_in * g_multiplier;
   END;
END;
/

答案在194樓

2011-11-25答案B. 其他寫法都是“靜態”的,不能取到當前時間。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大名县| 资阳市| 绥宁县| 新巴尔虎左旗| 安溪县| 吉首市| 宜兰县| 轮台县| 临沧市| 仙游县| 房产| 西昌市| 乳山市| 桦南县| 扶绥县| 江源县| 凌云县| 怀柔区| 泗洪县| 岐山县| 临汾市| 遂溪县| 民乐县| 手游| 甘南县| 常宁市| 平远县| 巴东县| 华安县| 桐庐县| 秦皇岛市| 缙云县| 武邑县| 托里县| 金昌市| 莱阳市| 门头沟区| 庆阳市| 新安县| 鸡东县| 博湖县|