MYSQ建立聯合索引,欄位的先後順序,對查詢的影響分析
阿新 • • 發佈:2020-12-24
Oracle 如何迴圈查詢結果集,進行新增或修改
Oracle的PL/SQL中怎樣迴圈查詢的結果集,然後根據查詢結果進行判斷,是新增或修改操作
loop迴圈例子
for item in (select a,b,c from table_a where 條件) loop
insert into table_b(a,b,c) values (item.a,item.b,item.c);
end loop;
如何將查詢結果集進行賦值
-- 獲取結算單位是否存在(查詢結果集賦值)--- select COUNT(*) into conNum from Dxc_Consignor where NAME=balance_Name;
迴圈結果集,對每一個結果進行判斷,如存在,執行修改,不存在,執行新增
----迴圈修改運輸記錄的貨主的TmsCode 方法--- declare balance_Id varchar2(100); balance_Name varchar2(100); conNum number; begin --迴圈運輸記錄中的結算單位(ID,NAME)(查詢結果集迴圈)-- for item in (select A.BALANCE_ID,A.BALANCE_NAME from VIEW_GZ_YIMIAO A group by A.BALANCE_ID,A.BALANCE_NAME) loop -- 將查詢到的資料賦值給變數 -- balance_Id := item.balance_id; balance_Name := item.balance_name; -- 獲取結算單位是否存在(查詢結果集賦值)--- select COUNT(*) into conNum from Dxc_Consignor where NAME=balance_Name; --判斷是否存在,存在則將結算單位ID賦給貨主的TmsCode -- if conNum=1 then dbms_output.put_line('存在'); --執行修改-- update Dxc_Consignor set TMSCODE=balance_Id where NAME=balance_Name; else dbms_output.put_line('不存在'); --執行新增-- end if; end loop; end;
迴圈的結果集的檢視
執行的結果檢視