我需要從表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,是的,兩個表具有相同的數據類型。兩者之間的唯一區別在於第二個沒有約束並且有一些額外的列。 –