Oracle儲存過程中如何使用游標

2022-09-02 07:00:08 字數 612 閱讀 3421

--本儲存過程的功能:把test_tbl2中與test_tbl1中id相同但salary不同的記錄中的salary的值更新為test_tbl1中的salary的值

--建立儲存過程

create or replace procedure p_update_test_tbl2 is

--定義游標

cursor c_test_tbl2 is

select t1.id, t1.salary

from test_tbl2 t2, test_tbl1 t1

where t2.id = t1.id

and t2.salary <> t1.salary;

c_row c_test_tbl2%rowtype;

begin

--使用游標進行更新

for c_row in c_test_tbl2 loop

update test_tbl2 t2 set salary = c_row.salary where t2.id = c_row.id;

end loop;

end;

--呼叫儲存過程

begin

p_update_test_tbl2;

end;

oracle儲存過程中如何使用陣列 附範例

原文 在pl sql中是沒有陣列 array 概念的。但是如果程式設計師想用array的話,就得變通一下,用type 和table of record來代替多維陣列,一樣挺好用的。emp type 就好象乙個table 中的一條record 一樣,裡面有id,name,gender等。emp typ...

MySQL儲存過程中如何使用where in

在mysql儲存過程中,有時候我們需要傳遞乙個字串資料並希望在過程中通過where in 查詢出多條記錄。現通過一簡單的例項來說明下 對於乙個查詢商品的儲存過程如 proc get goods info in goodsids varchar 100 現在我們希望通過過程查詢出goodsid為1,2...

儲存過程中,if語句使用

if語句 判斷使用者輸入的數字 set serveroutput on 1.提示資訊 2.接收鍵盤輸入 num 是乙個位址值 sql優化 num繫結變數 盡量使用繫結變數 select from emp where deptno 10 執行計畫 select from emp where deptn...