function

CREATE OR REPLACE FUNCTION FN_GET_NO_BY_DAY(TB_NAME IN VARCHAR2, TB_CELL IN VARCHAR2)
RETURN NUMBER IS

VAL NUMBER(16) := 0;
SQL_STR VARCHAR2(400) :='';
BEGIN
SQL_STR := 'SELECT
DECODE (
SUBSTR (num, 0, ,
TO_CHAR (SYSDATE, '||'''yyyyMMdd'''||'),
TO_NUMBER (num) + 1,
TO_CHAR (SYSDATE, '||'''yyyyMMdd'''||') '|| '||''00000001'''||
') numStr
FROM
(
SELECT
NVL (
MAX ('||TB_CELL||'),
TO_CHAR (SYSDATE, '||'''yyyyMMdd'''||')' || '||''00000000'''||
') num
FROM '|| TB_NAME ||')';

execute immediate (SQL_STR) INTO VAL;

RETURN VAL;

END;

猜你喜欢

转载自tangkuo.iteye.com/blog/2285151