我遇到了在Oracle數據庫中執行一次批量更新的問題。Oracle循環插入
我願做羣衆插入到映射表,我們可以稱之爲地圖
有從中我獲得數據的其他兩個表的第一個表是賬號表從我可以使用此查詢選擇想要插入的帳戶:
select account_id
from account
where company_id in (
select company_id
from company
where company_name = 'string');
此查詢將根據我要插入的公司名稱選擇我的所有帳戶。
接下來,我有表我們可以稱之爲組在這個表我有我插組,組有UID,以便我們GROUP_ID 1〜500
這裏的確切數字是多少,我需要做:我需要插入帳戶和組之間的表映射UID映射。有在需要做
insert into map (account_id, group_id)
values (number,number);
但不幸的是,我不知道該怎麼做這種大規模的插入與包含有一個以上的結果,以及如何算循環選擇沒有特別的順序。
所以我的想法是做這樣的事情:
insert into map (account_id, group_id) values ((select account_id
from account
where company_id in (
select company_id
from company
where company_name = 'string')),loop from 1 to 500);
隨着規則group_id
可以與許多account_id
s內插入,但一個account_id
只能鏈接到一個組。
當然這個查詢不起作用,我只是想表達我想要做的事情。希望這是有道理的。
因爲我知道我到底想插什麼,所以我知道我有500 account_id
s和50 group_id
s。另外它們的順序意思是account_id
1到500和group_id
1到500,所以我認爲在這種情況下,應該相當容易以某種方式循環插入。
我希望我儘可能地讓自己清楚。
謝謝您的回答和建議!
而不是真正漫長而令人困惑的解釋,你應該發佈樣本數據與預期的輸出。創建示例表格,將示例數據添加到表格,輸入所需的輸出等...您可以使用http://www.sqlfiddle.com/或在您的文章中輸入全部內容。使用Ctrl + K將代碼添加到您的帖子。 – Art 2013-03-15 18:19:14
未來地圖表的要點是什麼?這是相當不清楚如何以及爲什麼你想加入組和帳戶。 – Sebas 2013-03-15 23:41:36