افزایش حداکثر تعداد ستونهای یک جدول به 4096

تا قبل از اوراکل نسخه 23c، حداکثر تعداد ستونهای یک جدول به عدد 1000 محدود بود:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ORA-01792: maximum number of columns in a table or view is 1000
ORA-01792: maximum number of columns in a table or view is 1000
ORA-01792: maximum number of columns in a table or view is 1000

در نسخه 23c هر جدول می تواند تا 4096 ستون داشته باشد البته برای استفاده از این قابلیت باید پارامتر max_columns را به extended تنظیم کرد:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Connected to Oracle Database 23c Free, Release 23.0.0.0.0
SQL> create table tb (c1 number(10));
Table created
Connected to Oracle Database 23c Free, Release 23.0.0.0.0 SQL> create table tb (c1 number(10)); Table created
Connected to Oracle Database 23c Free, Release 23.0.0.0.0 
SQL> create table tb (c1 number(10));
Table created
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> alter system set max_columns=extended scope=spfile;
System altered
SQL> alter system set max_columns=extended scope=spfile; System altered
SQL> alter system set max_columns=extended scope=spfile;
System altered
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> declare
2 comm varchar2(100);
3 begin
4 for i in 2..4095 loop
5 comm:='alter table tb add c'||''||i||' number';
6 execute immediate comm;
7 end loop;
8 end;
9 /
PL/SQL procedure successfully completed
SQL> declare 2 comm varchar2(100); 3 begin 4 for i in 2..4095 loop 5 comm:='alter table tb add c'||''||i||' number'; 6 execute immediate comm; 7 end loop; 8 end; 9 / PL/SQL procedure successfully completed
SQL> declare
  2  comm varchar2(100);
  3  begin
  4    for i in 2..4095 loop
  5     comm:='alter table  tb add c'||''||i||' number';
  6     execute immediate comm;
  7    end loop;
  8  end;
  9  /
  PL/SQL procedure successfully completed
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> select count(*) from dba_tab_columns p where p.table_name='TB';
COUNT(*)
----------
4095
SQL> select count(*) from dba_tab_columns p where p.table_name='TB'; COUNT(*) ---------- 4095
SQL> select count(*) from dba_tab_columns p where p.table_name='TB';
  COUNT(*)
----------
      4095

 

ارائه خدمات مشاوره ، پشتیبانی و نصب و راه اندازی پایگاه داده اوراکل در سراسر کشور...................... تلفن: 09128110897 ایمیل:vahidusefzadeh@gmail.com

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *