Jus*_*ave 15
但是,为什么要首先创建一个包含2000列的表?这将强烈暗示您的架构严重需要一些规范化.如果您能解释您尝试解决的业务问题,我们几乎可以肯定地建议一个更合适的解决方案.
如果您确实违反了正确的规范化并且想要在循环中生成列,那么您可以执行类似的操作
DECLARE
l_sql_stmt varchar2(1000);
BEGIN
l_sql_stmt := 'CREATE TABLE violation_of_normalization( col1 number )';
EXECUTE IMMEDIATE l_sql_stmt;
FOR i IN 2 .. 900
LOOP
l_sql_stmt := 'ALTER TABLE violation_of_normalization ADD( col' || i || ' number )';
EXECUTE IMMEDIATE l_sql_stmt;
END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)
做这样的事情会是一个非常糟糕的主意,但这肯定是可能的.
| 归档时间: |
|
| 查看次数: |
264 次 |
| 最近记录: |