簡體   English   中英

使用For Loop的PL / SQL過程

[英]PL/SQL procedure with For Loop

我是PL / SQL的新手,正在嘗試了解如何為該問題編寫代碼。

我需要使用130個不同的表空間在130個不同的模式中創建130個相同的表。 我可以輕松運行代碼,然后對下一個架構進行全局搜索/替換,運行代碼,然后重復。

我想做的是寫一個匿名塊

declare n number(3);
  Begin
   for n in 1..130 
   Loop

    (run my statements)

  End Loop;
End;
/

目前,我正在使用的語句是直接的SQL:

CREATE TABLE xyz_101.... Tablespace xyz_101

我在想我應該創建變量來保存所有創建表,更改表,創建索引,創建同義詞語法,然后立即執行此變量。 我不確定如何執行此操作,因為我需要將“ n”傳遞給每個執行。

有沒有更好的辦法? 我應該將“創建表”,“創建索引”,“創建同義詞”語句寫為游標,然后執行游標嗎?

我可以肯定有人解決了這個問題,並感謝您提供任何指導或見解。 謝謝!

立即執行。

 for n in 1 .. 130 loop
       execute immediate 'create table t'||n||' ( dummy char(1) )';
 end loop;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM