我正在尝试更改声明语句内部的序列的最大值。在声明内部,我正在查询一个表以获取计数,以使该计数成为序列的最大值。更一般而言,我试图将maxvalue设置为表中的行数。
CREATE SEQUENCE counter
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 5
CYCLE
CACHE 4;
DeclARE
new_max NUMber(2);
BEGIN
SELECT count(*) INTO new_max
FROM Sim_Price;
execute immediate 'ALTER SEQUENCE counter
MAXVALUE new_max';
END;
/
我收到错误消息,说new_max是无效数字。我不确定如何使最大值与表的计数相同,如果我从表中获得该值时无法将其识别为数字。如果我只是直接输入一个数字(例如6)而不是new_max,则效果很好。它只是无法识别变量。我正在使用SQLPLUS。