1

私は2つの変数を持っています

MAX_TABLE_ID INTEGER;
NEXT_TABLE_ID INTEGER;

これらに値を読み込んで、それらに基づいてシーケンスを変更しようとしています

EXECUTE IMMEDIATE 'ALTER SEQUENCE NEXT_VALIDATED_TABLE_ID INCREMENT BY [MAX_TABLE_ID-NEXT_TABLE_ID]';

「無効な番号」エラーまたは SQL コマンドが終了していないというエラーが発生しています。

これは、ハードコードされた番号を試しても発生します

ALTER SEQUENCE NEXT_VALIDATED_TABLE_ID INCREMENT BY 100-1; or

ALTER SEQUENCE NEXT_VALIDATED_TABLE_ID INCREMENT BY [100-1];

ここで明らかな何かが欠けていますか

4

1 に答える 1

3

リテラルの外で計算を試してみます。

EXECUTE IMMEDIATE 'ALTER SEQUENCE NEXT_VALIDATED_TABLE_ID INCREMENT BY ' || MAX_TABLE_ID-NEXT_TABLE_ID;
于 2009-10-26T12:21:54.753 に答える