關於此案例的詳細分析,請參看 《Oracle數據庫游標案例講解與源碼》一文
http://www.Bkjia.com/database/201504/393681.html
案例要求:<2>商品類型編號轉換為商品類型名稱
由於《Oracle數據庫游標案例講解與源碼》一文中的解決方案用到了子查詢與游標,將會造成更大的系統開銷,造成查詢速度變慢,因此可以講解決方案更改為下面方式:
(建表語句與插入數據,請參照《Oracle數據庫游標案例講解與源碼》一文)
create or replace procedure prcd_1 is begin --清空臨時表中的原有記錄 delete from productinfo_tmp; --把符合要求的數據查詢出來,插入新的數據並轉換CATEGORY字段 insert into productinfo_tmp (pid,PNAME,PRICE,QUANTY,CATEGORY,DESPERATION,origin) select pid,PNAME,PRICE,QUANTY,CATEGORY,DESPERATION,origin from productinfo,categoryinfo where productinfo.category=categoryinfo.CID and PRICE>1000 and origin in('中國','杭州') and CNAME in ('電子產品','家電'); --產品價格下調 update productinfo_tmp set productinfo_tmp.PRICE=productinfo_tmp.PRICE*0.95 where productinfo_tmp.PRICE>2000; commit; end prcd_1;