小编典典

如何使用SQL Server 2008将行复制到同一表中

sql

A)到目前为止我的方式:

sqlCommand.CommandText =
"INSERT Table1 ([column1],[column2],[column3])" +
            " SELECT [column1],[column2],[column3]" +
            " FROM Table1 WHERE Id =" + param +
            ";select scope_identity() as id";

B)我想做这样的事情:

INSERT INTO "table1" (* (without the ID-column))
SELECT (* (without the ID-column))
FROM "table1"

注意:我要复制到同一张表中。我只想轻松地将其全部复制到另一行,同时为新行赋予新的ID。

那是好的实践吗?


阅读 278

收藏
2021-04-17

共1个答案

小编典典

唯一的方法是像第一个示例一样列出所有列。没有像这样的语法SELECT *, -Id

但是,出于SQL注入和计划缓存的原因,您应该使用参数化的SQL。

2021-04-17