0
我真的很困擾它們。使用連接更新多列的有效方法
該表需要更新約15M行和約200列。
我需要使用工作表格更新幾列。
這是(部分),我需要做的:
%macro condition;
%if &row_count>0 %then %do;
data _null_;
set W4TWGKJ6 end=final;
if _n_ = 1 then call execute("proc sql ;");
call execute
("update dds.insurance_policy set X_STORNO_BY_VERSION="||TOSNUM||" where policy_no='"||cats(polid)||"' and X_INSURANCE_PRODUCT_CD='"||cats(prodid)||"'
and X_INSURER_SERIAL_NO = "||X_INSURER_SERIAL_NO||" and x_source_system_cd ="||'"5"'||" and x_source_system_category_cd ="||'"5"'||" and x_current_ind = "||'"Y"'||";,
update dds.insurance_policy set STATUS_CHANGE_DT="||ISSUE_DT||" where policy_no='"||cats(polid)||"' and X_INSURANCE_PRODUCT_CD='"||cats(prodid)||"'
and X_INSURER_SERIAL_NO = "||X_INSURER_SERIAL_NO||" and x_source_system_cd ="||'"5"'||" and x_source_system_category_cd ="||'"5"'||" and x_current_ind = "||'"Y"'||";");
if final then call execute('quit;'); run;
%end;
%mend;
%condition;
我先檢查是否有表(& ROW_COUNT) 如果有行,
我更新2列(我需要更新5,我剛剛從示例中刪除了它們) 使用名爲W4TWGKJ6的工作表。
此更新需要永久。 事實上,我停止了每一次的過程,因爲它工作了幾個小時,沒有返回任何東西....
有沒有人知道這個問題的更好的解決方案?
在此先感謝, Gal。
謝謝vasja,我實際上正在考慮這個選項,問題是在交易表中有不同的名字... – user2518751
因此,讓它們在交易表或相同的交易表中相同創建一個專門的視圖讓他們相同。 – vasja