0

テーブルの列を更新し、次のように 600idに挿入したい:column1

更新前の表:

id   name     date     comment
------------------------------
1    jack     9/10/12   null
100  david    9/11/12   20
158  sara     9/12/12   null
.

更新後の表:

1    jack     9/10/12   null
2    david    9/11/12   20
3    sara     9/12/12   null
.
597   "     "      "
598   "     "      "
599   "     "      "
600   "     "      "
4

1 に答える 1

0

最初に行う必要があるのは、何行あるのかを調べることです

DECLARE @COUNTER INT
SET @COUNTER = SELECT COUNT(*) FROM tbl_tablename

次に、ほぼ正確な構造を持つ一時テーブルを宣言します (ID を除く)。

DECLARE @tmp_table TABLE
(
P_Id int PRIMARY KEY IDENTITY、
残りのフィールドは同じ
)

新しいテーブルに id 以外のすべてを挿入します

INSERT INTO @tmp_table (tbl_tablename から名前、日付、コメントを選択)

元のテーブルをクリア

tbl_tablename から削除

一時テーブルから値を挿入します

INSERT INTO tbl_tablename (SELECT * FROM @tmp_table)

これで、追加の値を追加できます

WHILE (@COUNTER <= 600)
BEGIN
SET @COUNTER = @COUNTER + 1
INSERT INTO tbl_tablename (@COUNTER, '', null, null)
END

それでおしまい。それがあなたを助けることを願っています

于 2013-01-27T16:45:29.677 に答える