有没有人知道或有一个从1个表到另一个表的数据的例子?
它正在使用SQL SERVER EXPRESS,并且2个表实际上是相同的,1被fronend客户端用作临时表..所以我的后端客户端需要将项目从临时表移动到我的其他表。 / p>
我是否需要使用仅向前游标和for循环?
我假设我打开一个连接,使用命令对象查询将返回DataSet
的数据库?
我遍历for循环并使用COMMAND
ADO.NET
对象调用插入记录
有没有更好的方法呢?
答案 0 :(得分: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
答案 1 :(得分:1)
您只能在SQL中执行此操作,例如:
SELECT *
INTO theNewTable
FROM FirstTable dept
WHERE 1 = 1;
加入一个strored过程或直接作为命令执行。
请注意: INTO
将创建一个与第一个结构相同的新表,并将第一个表中的所有行复制到其中。如果您只想创建表而不填充行并将它们复制到新创建的表中,请使用始终为假的表达式。例如“1 = 0”。
答案 2 :(得分: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
查询。
答案 3 :(得分:0)
您可以使用此
插入数据INSERT INTO TABLE (columnname1, columnname2, columnname3,.....)
SELECT columnname1, columnname2, columnname3 FROM TBL