2012-09-01 19 views
0

我需要一個通用樣式導入表。每列中使用的數據可能會在未來添加/更改。所以我想創建一個寬表,並且記錄每個列表示的內容,並且通過一個視圖來查詢表格,我可以提供有意義的列名。通用導入表AA - ZZ創建

除了粘貼600多列,有沒有一種方法來創建這種類型的表?也許還有一種比這種方法更好用的特徵。

在此先感謝!

回答

1

您可以編寫一個PL/SQL腳本來構建create table字符串,然後使用execute immediate語句執行它。你確定數據庫設計是否正確?聽起來像600個標準化還沒有完成。

declare 
    l_sql  varchar2(32000); 
begin 
    l_sql := 'create table mytable ('; 
    for i in 1 .. 600 loop 
      l_sql := l_sql || ' col'||i||' char(10)'; 
      if i<600 then 
       l_sql := l_sql || ','; 
      end if; 
    end loop; 
    l_sql := l_sql || ')'; 
    execute immediate l_sql; 
end; 
/
+0

這是故意的。典型的星型模式。標準化被高估;) – Dave

相關問題