0

我需要一个通用样式导入表。每列中使用的数据将来可能会添加/更改。所以我想创建一个宽表,只记录每列代表的内容,然后通过可以提供有意义的列名的视图查询表。

除了粘贴 600 多列之外,还有没有办法编写脚本来创建这种类型的表?也许还有一个比这种方法更好用的特性。

提前致谢!

4

1 回答 1

1

您可以编写一个 PL/SQL 脚本来构建创建表字符串,然后使用立即执行语句执行它。你确定数据库设计是正确的吗?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;
/
于 2012-09-01T06:49:41.653 回答