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。
那是好的实践吗?
唯一的方法是像第一个示例一样列出所有列。没有像这样的语法SELECT *, -Id
SELECT *, -Id
但是,出于SQL注入和计划缓存的原因,您应该使用参数化的SQL。