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;
執行的結果檢視
ps:參考**:
平時多記記,到用時才能看看,記錄你的進步,分享你的成果
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;
執行的結果檢視
ps:參考**:
mysql迴圈遍歷查詢結果集
建立儲存過程之前需判斷該儲存過程是否已存在,若存在則刪除 drop procedure if exists init reporturl 建立儲存過程 create procedure init reporturl begin 定義變數 declare s int default 0 declare...
ORACLE查詢結果集的問題
現在需要乙個這樣的效果,有三張表abc 其中a和b是單獨的實體表。c表是一關係表,裡面有a和b的id以及別的。可以通過a和b的id查詢出需要的值 現在需要這樣乙個查詢效果,即以a為橫座標 b為縱座標。從表c根據對應ab值查出來的結果作為單元格。不知道怎麼寫了。求方案。要的結果集大概如下 a1 a2 ...
SQL迴圈結果集
1 游標,這不多說。2 臨時表 思路如下 rowcount來控制迴圈結束標記。臨時表裡生成乙個自動增長id 達到總行數時,結束迴圈。大概寫一下 假設有個實體表table useraccount 兩列 userid uniqueidentifier username nvarchar 100 現要遍歷...