我需要从表A到表B(基本上从主表到各自的历史表)复制/插入具有某个where子句的所有值。使用结果(从Info_schema中选择的列)选择查询
我不想指定列名称,因为我想创建一个通用的方法,它将能够用于所有需要提取的表格。
不幸的是,表A中的属性并不总是与tableB中的属性相同,所以我不能在TableA中使用select * into #temp,然后从#temp插入到tableB中。 Plus TableB具有通用的3 sys列,我们为审计目的而生成这些列。
我的想法是使用Info模式来获取列名。然后以某种方式使用结果来获取查询表中的所有值并将其添加到通用sys列的顶部。有可能吗?
我通过使用Info架构获得了列名。
Select
COLUMN_NAME
FROM INFORMATION_SCHEMA.columns
where TABLE_NAME = 'TableA'
的SYS列:
sys_date=Getdate()
,sys_flag='1'
,sys_name=SYSTEM_USER
2表总是有相同的名称,数据类型和值的列,期望的序数位置。所有附加列对于所有表都是相同的? –
对于初学者.... mysql或sql server?它们不是同一件事。一旦你决定使用哪个DBMS,你需要澄清这个问题。我不清楚你想要做什么。 –
@RohitKumar,是的,两个表具有相同的数据类型。两者之间的唯一区别在于第二个没有约束并且有一些额外的列。 –