插入select
- 本组件用来拼接含SELECT子句的INSERT语句
1. 接口
2. 基类
3. 类型
4 方法
4.1 Insert方法
该方法并非必须,适用于插入和查询的列不一致的情况
TInsert Insert<TInsert>(this TInsert insert, params IEnumerable<IColumn> columns)
where TInsert : SelectInsertBase, ISelectInsert;
IColumn name = Column.Use("Name");
IColumn age = Column.Use("Age");
IColumn name2 = Column.Use("Name2");
IColumn age2 = Column.Use("Age2");
var query = new TableSqlQuery("Students")
.Where("AddTime between '2024-01-01' and '2025-01-01'");
var select = new TableSelect(query)
.Select(name, age);
var insert = new SelectInsert("Backup2024", select)
.Insert(name2, age2);
// INSERT INTO [Backup2024]([Name2],[Age2])SELECT [Name],[Age] FROM [Students] WHERE AddTime between '2024-01-01' and '2025-01-01'
4.2 Insert重载方法
该方法并非必须,适用于插入和查询的列不一致的情况
TInsert Insert<TInsert>(this TInsert insert, params IEnumerable<string> columnNames)
where TInsert : SelectInsertBase, ISelectInsert;
IColumn name = Column.Use("Name");
IColumn age = Column.Use("Age");
var query = new TableSqlQuery("Students")
.Where("AddTime between '2024-01-01' and '2025-01-01'");
var select = new TableSelect(query)
.Select(name, age);
var insert = new SelectInsert("Backup2024", select)
.Insert("Name2", "Age2");
// INSERT INTO [Backup2024]([Name2],[Age2])SELECT [Name],[Age] FROM [Students] WHERE AddTime between '2024-01-01' and '2025-01-01'
4.3 普通示例
IColumn name = Column.Use("Name");
IColumn age = Column.Use("Age");
var query = new TableSqlQuery("Students")
.Where("AddTime between '2024-01-01' and '2025-01-01'");
var select = new TableSelect(query)
.Select(name, age);
var insert = new SelectInsert("Backup2024", select);
// INSERT INTO [Backup2024]([Name],[Age])SELECT [Name],[Age] FROM [Students] WHERE AddTime between '2024-01-01' and '2025-01-01'