0

すべての列を書き込まずにSQLサーバーで行を複製するオプションはありますか? 挿入したい列を自分で書きたいだけです。

例えば:

マイテーブル:

Id|Name|Status|Date
-------------------
2|abca|active|03.10

だから私はできる:

INSERT INTO MYTABLE (Id, Name, Status, Date )
SELECT NEWID(), "bird", status, Date
  FROM MYTABLE 
 WHERE Id = "2"

行を複製します:

Id  |Name|Status|Date
-------------------
2   |abca|active|03.10
fg35|bird|active|03.10

私が書いたものを除いて、すべての列を複製することはできませんか?

この例では: (疑似コード) のようなもの:

(id="newID()", name="bird") を除く Id="2" である MYTABLE のすべての列を複製します

4

1 に答える 1

1

いいえ、SQL Server では、すべての列にすべての値を指定する必要があります。

INSERT INTO TableName VALUES(value1, value2, ...)

または、挿入する列を指定します

INSERT INTO TableName (column1, column2, ...) VALUES(value1, value2, ...)

一般的な意味で望むものを達成することはできません。

一部の特定のケースでは、すべての列を複製して一部を更新する方法があるかもしれませんが、それは、新しく挿入された行を以前の既存の行と区別する能力に依存します。

于 2013-10-03T12:14:28.937 に答える