oracle對一個表的多行資料進行修改
阿新 • • 發佈:2018-12-18
1、第一種使用迴圈修改表 --遍歷一個表並作修改 declare bl varchar(100); --宣告一個字串變數 BEGIN FOR L_RECORD IN (select * from ysl_config_cy where name='機動車六年免檢') --將一個物件賦值到L_RECORD變數中 LOOP SELECT property_value into bl FROM ysl_config_cy_detail a where a.config_fid= L_RECORD.fid; dbms_output.put_line('m_num=' || bl); --列印bl變數的值 update ysl_config_cy set name=bl where fid='DEDF034EFA754B5EAB256D306649A604' ; END LOOP; END; 2、直接修改(和上面例子具有同樣的效果) update ysl_config_cy a set name=( select b.property_value from ysl_config_cy_detail b where a.name='機動車六年免檢' and b.config_fid= a.fid ) where a.fid='DEDF034EFA754B5EAB256D306649A604' ; --set的原理是和下面查詢一樣,where的條件是括號裡面的其中一個 select b.property_value,a.* from ysl_config_cy_detail b ,ysl_config_cy a where a.name='機動車六年免檢' and b.config_fid= a.fid