“F_NEXT_VAL” 函数名
VAL 变量值
PRAGMA AUTONOMOUS_TRANSACTION 声明为自治事务
CREATE OR REPLACE
FUNCTION "F_NEXT_VAL" RETURN INTEGER
AS
pragma autonomous_transaction;
VAL INTEGER;
BEGIN
SELECT t."VALUE" INTO VAL FROM SYS_SEQUECE t WHERE t.SEQUECE_NAME = 'uniquenumber' FOR UPDATE;
UPDATE SYS_SEQUECE t SET t."VALUE" = (VAL + 1) WHERE t.SEQUECE_NAME = 'uniquenumber';
COMMIT;
RETURN VAL + 1;
END;