Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
次の identity の値をテーブルに設定できます。このシステムプロシージャを使用して、次に挿入されるローの AUTOINCREMENT 値を変更します。
sa_reset_identity( tbl_name [, owner_name [, new_identity ] ] )
tbl_name 識別値をリセットするテーブルを指定する CHAR(128) パラメータ。テーブルの所有者を指定しない場合、tbl_name はデータベースのテーブルをユニークに識別する必要があります。
owner_name 識別値をリセットするテーブルの所有者を指定する任意の CHAR(128) パラメータ。デフォルトは NULL です。owner_name を指定しない場合は、3 番目の引数に名前付きパラメータを使用します。次に例を示します。
CALL sa_reset_identity( 'Employees', new_identity=100 );
new_identity オートインクリメントの開始値を指定する任意の BIGINT パラメータ。デフォルトは NULL です。
テーブルに挿入されるローに対して生成される次の ID 値は、new_identity + 1 です。
new_identity + 1 がテーブルの既存のローと競合するかどうかを確認するチェックは発生しません。たとえば、new_identity を 100 と指定した場合、挿入した次のローは 101 という ID 値を取得します。ただし、テーブルに 101 がすでに存在する場合、ローの挿入は失敗します。
sa_reset_identity システムプロシージャは、AUTOINCREMENT または GLOBAL AUTOINCREMENT のデフォルトが指定されたカラムのないテーブルに対しては使用できません。
テーブルの所有者であるか、ALTER ANY TABLE システム権限を持っている必要があります。
値が更新された後にチェックポイントを発生させます。
次の文は次の ID 値を 101 にリセットします。
CALL sa_reset_identity( 'Employees', 'GROUPO', 100 );