程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle for in loop 兩例的創建過程

Oracle for in loop 兩例的創建過程

編輯:Oracle數據庫基礎

我們今天是要和大家一起討論的是Oracle for in loop 兩例,我前兩天在相關網站看見Oracle for in loop 兩例的相關資料,覺得在實際操作中會對計算機一族有所幫助,就拿出來供大家分享。

Oracle for in loop 壹:

1、搭建環境

  1. create table ETL_DATE(DATE_CHAR VARCHAR2(8),DATE_DATE DATE);  
  2. select * from etl_date;  

2、代碼

  1. DECLARE  
  2. v_date date;  
  3. BEGIN  
  4. EXECUTE IMMEDIATE 'truncate table etl_date';  
  5. for v_date in 20091001 .. 20091021 LOOP  
  6. INSERT INTO etl_date  
  7. (date_char, date_date)  
  8. SELECT v_date, to_date(v_date, 'YYYY-MM-DD') FROM dual;  
  9. END LOOP;  
  10. COMMIT;  
  11. END;  
  12. select * from etl_date;  

3、刪除環境

  1. drop table etl_date; 

注:僅適用於在一月之內的循環。

Oracle for in loop 貳:

1、搭建環境

  1. create table SQLTEXT(TEXT VARCHAR2(100));  
  2. create table HZ(HZ_NAME VARCHAR2(3));  
  3. INSERT INTO hz(HZ_NAME)values(' ');  
  4. INSERT INTO hz(HZ_NAME)values('PRE');  
  5. INSERT INTO hz(HZ_NAME)values('CUR');  
  6. INSERT INTO hz(HZ_NAME)values('INS');  
  7. INSERT INTO hz(HZ_NAME)values('UPD');  
  8. select * from HZ;  

2、代碼

  1. declare  
  2. P_TABLE_NAME varchar2(100) :'CFA';  
  3. begin  
  4. for HZ in (select HZ_NAME from HZ) LOOP  
  5. insert into sqltext  
  6. select 'CREATE TABLE ' || REPLACE(P_TABLE_NAME, 'EDW', 'TMP') ||  
  7. HZ.HZ_NAME || ' AS select * from ' || P_TABLE_NAME ||  
  8. ' where ROWNUM<1'  
  9. from dual;  
  10. END LOOP;  
  11. end;  
  12. select * from SQLTEXT;  

3、清空環境

  1. drop table SQLTEXT;  
  2. drop table HZ;  
  3. powershell   
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved