Oracle10g 我想将查询结果设置为minvalue 让我们考虑一下 查询结果将于5月22日公布 即,从表\u screen=22中选择maxscreen\u id+1 create sequence SEQ_TEST minvalue SELECT MAX(SCREEN_ID)+1 FROM TABLE_SCREEN start with 25 maxvalue 999999999999999999999999999 increment by 1 nocache;

Oracle10g 我想将查询结果设置为minvalue 让我们考虑一下 查询结果将于5月22日公布 即,从表\u screen=22中选择maxscreen\u id+1 create sequence SEQ_TEST minvalue SELECT MAX(SCREEN_ID)+1 FROM TABLE_SCREEN start with 25 maxvalue 999999999999999999999999999 increment by 1 nocache;,oracle10g,Oracle10g,如何按顺序将查询结果设置为最小值???您可以像这样使用动态sql: 编辑:现在测试代码 --Test setup create table table_screen ( screen_id INTEGER NOT NULL); / insert into table_screen values (1); / insert into table_screen values (10); / insert into table_screen values (21); 新区块 DECLARE

如何按顺序将查询结果设置为最小值???

您可以像这样使用动态sql:

编辑:现在测试代码

--Test setup
create table table_screen ( screen_id INTEGER NOT NULL);
/
insert into table_screen values (1);
/
insert into table_screen values (10);
/
insert into table_screen values (21);
新区块

DECLARE
    MinVal            INTEGER;
BEGIN
    SELECT MAX(SCREEN_ID)+1 INTO MinVal FROM table_screen;

    EXECUTE IMMEDIATE 'CREATE SEQUENCE seq_test START WITH ' || MinVal;
END;
/
我删除了额外的参数,只是为了保持它的小


还要注意:根据我的最爱,当增量为负时使用MINVALUE,因此我将代码交换为使用START-with来创建,因为您的增量为正

国王,使用所有大写字母被认为是粗鲁的。我已经在这里更正了你的帖子,但请以后不要再发了。谢谢你的回复。。但是我需要在创建序列中使用select查询。。如何在“创建序列”命令中执行?为什么?你是如何运行那个不能使用匿名块的命令的?@king:这就是这样做的。CREATE SEQUENCE语句不支持子查询。以开始,MINVALUE等都需要整数。真的,没有什么需要做的了。