SQL> BEGIN 2 FOR I IN 1..999 LOOP 3 EXECUTE IMMEDIATE 'ALTER TABLE TEST.TT ADD A' || I || ' NUMBER(1)'; 4 END LOOP; 5 END; 6 /PL/SQL 过程已成功完成。SQL> SELECT COUNT(*) FROM USER_TAB_COLUMNS WHERE TABLE_NAME='TT'; COUNT(*) ---------- 1000SQL> ALTER TABLE TEST.TT ADD C NUMBER(1); ALTER TABLE TEST.TT ADD C NUMBER(1) * ERROR 位于第 1 行: ORA-01792: 表或视图中的最大列数为 1000 ORA-01795 maximum number of expressions in a list is 1000Cause: More than 254 columns or expressions were specified in a list.Action: Remove some of the expressions from the list.Limit and conversion very long IN list : WHERE x IN ( ,,, ...)
2 FOR I IN 1..999 LOOP
3 EXECUTE IMMEDIATE 'ALTER TABLE TEST.TT ADD A' || I || ' NUMBER(1)';
4 END LOOP;
5 END;
6 /PL/SQL 过程已成功完成。SQL> SELECT COUNT(*) FROM USER_TAB_COLUMNS WHERE TABLE_NAME='TT'; COUNT(*)
----------
1000SQL> ALTER TABLE TEST.TT ADD C NUMBER(1);
ALTER TABLE TEST.TT ADD C NUMBER(1)
*
ERROR 位于第 1 行:
ORA-01792: 表或视图中的最大列数为 1000
ORA-01795 maximum number of expressions in a list is 1000Cause: More than 254 columns or expressions were specified in a list.Action: Remove some of the expressions from the list.Limit and conversion very long IN list : WHERE x IN ( ,,, ...)