我有一個源(網頁),它具有我需要存儲在一個表中的公用數據和罕見數據。按不同的列創建表插入
的數據可以是這樣的:
model: xyz, attr_1: xyz, attr_2: xyz
model: xyz, attr_3: xyz, attr_4: xyz
model: xyz, attr_1: xyz, attr_4: xyz
model: xyz, attr_1: xyz, attr_5: xyz
model: xyz, attr_15: xyz, attr_20: xyz
這個數據就會產生此DML:
insert into table (model, attr_1, attr_2)values('xyz','xyz','xyz');
insert into table (model, attr_3, attr_4)values('xyz','xyz','xyz');
insert into table (model, attr_1, attr_4)values('xyz','xyz','xyz');
insert into table (model, attr_1, attr_5)values('xyz','xyz','xyz');
insert into table (model, attr_15, attr_20)values('xyz','xyz','xyz');
我的問題是,INSERT命令,所以我可以在我無法定義表不知道列和每一個新的插入我可能會發現新的列。在實際插入之前,我無法獲得所有插入命令。我唯一想到的是將每一行插入到不同的表中(使用create table as insert into
),然後使用UNION ALL
來創建最終表。但這聽起來不太好主意。
編輯我不尋找規範化的表。
最終的結果應該是(作爲例子):
table_name
id int
model varchar
attr_1 varchar
attr_2 varchar
attr_3 varchar
attr_4 varchar
attr_5 varchar
attr_15 varchar
attr_20 varchar
就像你不能吃你的蛋糕,仍然有它,你不能讓簡單和不規範它。 – mvp