0
我使用HP Vertica 7作爲數據倉庫數據庫。模擬SQL中的內部對象
我需要同時更新兩個表。
foreach (row r in table_1)
{
foreach (row r2 in table_2)
{
if(r.key1 == r2.key1 && r.key2 ==r2.key2 && r.soldQuantity > r2.Quantity)
{
updateRowInT1(); //r.Partner = r2.Partner;
updateRowInT2(); //r2.Quantity = r2.Quantity - r.soldQuantity;
break;
}
}
}
這部分代碼最能描述我需要做什麼。 有沒有辦法在SQL中執行此操作(使用用戶定義的函數)。 由於第二個表中的更改,我無法使用更新和連接。或者我可以嗎?
此外,這是由Pentaho Kettle完成的ETL過程的一部分。也許這種方法可以在這個工具中做到這一點。
感謝
編輯: 上面我已經改變了代碼。
我需要做什麼?
合作伙伴定期銷售。
現在有什麼問題嗎?
當某些SKU在零售店出售時,我可以看到SKU LAST合作伙伴。但是,我工作的公司正在從更多的合作伙伴購買相同的SKU。 緩慢變化尺寸不適用,因爲當我們在SKU上切換合作伙伴時,貨架上仍有一定數量的該SKU。
假設:
FIFO - 先進先出。
因此,對於初始匹配,我需要比較(以日期順序)銷售和購買並減少購買數量。
只需在事務中運行兩個更新即可。 – 2014-10-17 17:40:19
@a_horse_with_no_name它不是第一次完成第一次表更新,而不是第二次? – fenix 2014-10-18 19:41:01
您能否提供更多關於您匹配的條件的信息?你是否通過某種鍵和某些其他條件關聯了table_1和table_2中的數據?當你更新每個表時,你是否試圖用table_1中的數據更新table_2,還是更新更像是將字面值設置爲字段? – woot 2014-10-19 01:49:28