我需要一个通用样式导入表。每列中使用的数据将来可能会添加/更改。所以我想创建一个宽表,只记录每列代表的内容,然后通过可以提供有意义的列名的视图查询表。
除了粘贴 600 多列之外,还有没有办法编写脚本来创建这种类型的表?也许还有一个比这种方法更好用的特性。
提前致谢!
您可以编写一个 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;
/