1

有谁知道或有从一张表到另一张表的数据的例子?

它使用的是 SQL SERVER EXPRESS,并且 2 个表实际上是相同的,1 个被前端客户端用作临时表。所以我的后端客户端需要将项目从临时表移动到我的其他表。

我是否需要使用仅向前游标和 for 循环?

我假设我打开一个连接,使用命令对象来查询将返回到的数据库DataSet

我遍历for循环并使用COMMAND对象调用插入记录ADO.NET

没有更好的方法吗?

4

4 回答 4

2

如果两个表的列相同:

INSERT INTO TABLE_1
SELECT * FROM TABLE_2

如果不是所有的列都相同,您可以这样做:

INSERT INTO TABLE_1 (common_column1, common_column2, common_column3)
SELECT common_column1, common_column2, common_column3 FROM TABLE_2

之后,您可以更新不相等的列。或者,您可以在不相等的列上插入硬编码值:

INSERT INTO TABLE_1 (common_column1, common_column2, common_column3, diff_column_1, diff_column_2)
SELECT common_column1, common_column2, common_column3, '1', '2' FROM TABLE_2
于 2012-09-18T12:29:50.233 回答
1

您只能在 SQL 中执行此操作,例如:

SELECT *
INTO theNewTable
FROM FirstTable dept
WHERE 1 = 1;

放入存储过程或直接作为命令执行。

请注意:INTO创建一个与第一个表结构相同的新表,并将第一个表中的所有行复制到其中。如果您只想创建表而不填充行并将它们复制到新创建的表中,我们使用一个总是假的表达式。例如“1 = 0”。

于 2012-09-18T12:26:16.597 回答
1

您可以使用 DataTable.Copy

http://msdn.microsoft.com/fr-fr/library/system.data.datatable.copy.aspx

你也可以使用DataTable.ImportRow

链接:http: //msdn.microsoft.com/fr-fr/library/system.data.datatable.importrow.aspx

TSQL:您也可以INSERT SELECT在存储过程中使用:查询。

于 2012-09-18T12:26:22.467 回答
0

您可以使用此插入数据

INSERT INTO TABLE (columnname1, columnname2, columnname3,.....)
SELECT columnname1, columnname2, columnname3 FROM TBL
于 2012-09-25T08:40:37.417 回答