gpt4 book ai didi

oracle - 根据序列的nextval值创建View

转载 作者:行者123 更新时间:2023-12-02 04:49:55 24 4
gpt4 key购买 nike

我可以根据 nextval 序列创建 View 吗?

我创建了一个这样的 View :

create view seq_agents_nextval 
as
select seq_agents.nextval from dual;

从 Oracle 文档中我读到它不是那样工作的。是否还有其他技巧或技巧来创建具有类似输出的 View ?

最佳答案

您最好的选择将是遵循以下代码精神的 udf:

CREATE OR REPLACE FUNCTION my_nv RETURN INTEGER AS
l_rv NUMBER;
BEGIN
SELECT seq_agents.nextval
INTO l_rv
FROM DUAL
;
RETURN l_rv;
END;

CREATE OR REPLACE VIEW seq_agents_nextval AS
SELECT my_nv
FROM DUAL
;

否则您可以查询系统 View 以获得至少一个大概的答案

CREATE OR REPLACE VIEW seq_agents_nextval AS
SELECT last_number + increment_by nv
FROM ALL_SEQUENCES
WHERE sequence_owner = '<the_proper_schema_name>'
AND sequence_name = 'SEQ_AGENTS'
;

但该值的用途有限,因为它可能比实际值大,数量等于序列的缓存值数量乘以序列增量,并且不考虑最大值和结转行为(后两个方面可以修复)。

请记住,在查询 View 和使用返回值之间可能会发出任意数量的新序列值。

希望这有帮助和问候

关于oracle - 根据序列的nextval值创建View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8454582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com