|
newkid 发表于 2015-1-23 00:49 ![]()
你的方法只是在实现LOOKUP数据,DETERMINISTIC要求LOOKUP表是静态的。如果改了部门名称,所有索引全部得重 ...
舉例很多用途:
FUNCTION WAIT_CHECK_FUNC ( IN_OWNER VARCHAR2 ) RETURN VARCHAR2 ...
IS
CHECK_FLG VARCHAR (5) := '00000';
BEGIN -- 資料表是否是 lock 狀態. 範例
CHECK_FLG := 'x';
SELECT 'o'
INTO CHECK_FLG
FROM V$LOCKED_OBJECT A, DBA_OBJECTS B, V$SESSION C
WHERE A.OBJECT_ID = B.OBJECT_ID
AND A.SESSION_ID = C.SID(+)
AND B.OWNER = IN_OWNER
AND B.OBJECT_NAME LIKE 'FGA_%' ESCAPE '\' -- '
AND B.OBJECT_TYPE = 'TABLE';
SELECT ... into ... from ...
SELECT ... into ... from ...
SELECT ... into ... from ...
SELECT ... into ... from ...
RETURN CHECK_FLG;
EXCEPTION
WHEN OTHERS THEN
RETURN CHECK_FLG;
END;
可以寫需要SQL在 FUNCTION ... 運用很廣
RETURN 方式可以是 '1011'
第一碼是: 1 有符合
第二碼是: 0 總金額有不符合
第三碼是 1 總金數量有符合
第四碼是 1 歷史資料存在
這麼簡單講一次學生就懂了. 我只是引入門...敘述方法.
不在限於只回傳一個名稱啦...那只是一個範例....
這裡只有討論大資料比對方式, 我們設計都是採用 '1011....' 設計模式.
很快就可以找出不是 '11111' 的資料表示資料有異常需要
|
|