gpt4 book ai didi

c# - 将一个表的所有行复制到另一个表

转载 作者:可可西里 更新时间:2023-11-01 08:35:48 25 4
gpt4 key购买 nike

我在 MySQLSQL Server 中有两个数据库,我想在 SQL Server 中创建表并从表中复制所有行在 MySQL 中插入到 SQL Server 中的新表中。

我可以在 SQL Server 中创建表,与 MySQL 相同,使用以下代码:

List<String> TableNames = new List<string>();
{
IDataReader reader=
ExecuteReader("SELECT Table_Name FROM information_schema.tables WHERE table_name LIKE 'mavara%'",MySql);
while (reader.Read()) {
TableNames.Add(reader[0].ToString());
}
reader.Close();
}

foreach (string TableName in TableNames) {
IDataReader reader =
ExecuteReader("SELECT Column_Name,IS_NULLABLE,DATA_TYPE FROM information_schema.columns where TABLE_Name='" + TableName + "'",MySql);
List<string[]> Columns = new List<string[]>();
while (reader.Read()) {
string[] column = new string[3];
column[0] = reader[0].ToString();
column[1] = reader[1].ToString();
column[2] = reader[2].ToString();
Columns.Add(column);
}

reader.Close();

// create table
string queryCreatTables= "CREATE TABLE [dbo].[" + TableName + "](\n";
foreach(string[] cols in Columns)
{
queryCreatTables +="["+ cols[0] + "] " + cols[2] + " ";
if (cols[1] == "NO")
queryCreatTables += "NOT NULL";
// else
// queryCreatTables += "NULL";
queryCreatTables += " ,\n ";
}
queryCreatTables += ")";

System.Data.SqlClient.SqlCommand smd =
new System.Data.SqlClient.SqlCommand(queryCreatTables, MsSql);
System.Data.SqlClient.SqlDataReader sreader = smd.ExecuteReader();
sreader.Close();

但是我在将行从一个表复制到另一个表时遇到问题。

对于选择查询,我使用Idatareader,但我不知道如何向另一个表插入行。

最佳答案

要将行从一个表插入到另一个表中,请引用下面的示例查询

    INSERT INTO Store_Information (store_name, Sales, Date)
SELECT store_name, sum(Sales), Date
FROM Sales_Information

关于c# - 将一个表的所有行复制到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12445613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com