ওরাকলে একটি সারণীর নামের সর্বোচ্চ দৈর্ঘ্য কত?


192

ওরাকলে একটি সারণীর নাম এবং কলামের নামের সর্বাধিক দৈর্ঘ্য কত?

উত্তর:


282

ইন ওরাকল 12.2 এবং সর্বোচ্চ বস্তুর নাম দৈর্ঘ্য উপরে 128 বাইট।

ইন ওরাকল 12.1 এবং সর্বোচ্চ বস্তুর নাম দৈর্ঘ্য নিচের 30 বাইট।


6
এটি আসলে সামঞ্জস্যপূর্ণ প্যারামিটারের সংস্করণের উপর ভিত্তি করে। আপনার যদি 11.2.0 এ সামঞ্জস্যপূর্ণ সেট সহ 12.2 ডিবি থাকে তবে আপনি 30 অক্ষরে সীমাবদ্ধ রয়েছেন।
rtaft

220

একজন মানুষকে মাছ শিখিয়ে দিন

ডেটা টাইপ এবং আকার লক্ষ্য করুন

>describe all_tab_columns

VIEW all_tab_columns

Name                                      Null?    Type                        
 ----------------------------------------- -------- ----------------------------
 OWNER                                     NOT NULL VARCHAR2(30)                
 TABLE_NAME                                NOT NULL VARCHAR2(30)                
 COLUMN_NAME                               NOT NULL VARCHAR2(30)                
 DATA_TYPE                                          VARCHAR2(106)               
 DATA_TYPE_MOD                                      VARCHAR2(3)                 
 DATA_TYPE_OWNER                                    VARCHAR2(30)                
 DATA_LENGTH                               NOT NULL NUMBER                      
 DATA_PRECISION                                     NUMBER                      
 DATA_SCALE                                         NUMBER                      
 NULLABLE                                           VARCHAR2(1)                 
 COLUMN_ID                                          NUMBER                      
 DEFAULT_LENGTH                                     NUMBER                      
 DATA_DEFAULT                                       LONG                        
 NUM_DISTINCT                                       NUMBER                      
 LOW_VALUE                                          RAW(32)                     
 HIGH_VALUE                                         RAW(32)                     
 DENSITY                                            NUMBER                      
 NUM_NULLS                                          NUMBER                      
 NUM_BUCKETS                                        NUMBER                      
 LAST_ANALYZED                                      DATE                        
 SAMPLE_SIZE                                        NUMBER                      
 CHARACTER_SET_NAME                                 VARCHAR2(44)                
 CHAR_COL_DECL_LENGTH                               NUMBER                      
 GLOBAL_STATS                                       VARCHAR2(3)                 
 USER_STATS                                         VARCHAR2(3)                 
 AVG_COL_LEN                                        NUMBER                      
 CHAR_LENGTH                                        NUMBER                      
 CHAR_USED                                          VARCHAR2(1)                 
 V80_FMT_IMAGE                                      VARCHAR2(3)                 
 DATA_UPGRADED                                      VARCHAR2(3)                 
 HISTOGRAM                                          VARCHAR2(15)                

4
স্ট্যান্ডার্ড এসকিউএল এর সাহায্যে আপনি টেবিলটি জিজ্ঞাসা করে দৈর্ঘ্যগুলি নির্ধারণ করতে পারেন: সমস্ত_ত্যাব_কলামগুলি থেকে * নির্বাচন করুন যেখানে টেবিলের নাম = 'ALL_TAB_COLUMNS';
JustinKSU

1
বেস টেবিল all_objects বর্ণনা করা আরও ভাল হতে পারে , যেহেতু এটি দেখায় যে নাম সীমাবদ্ধতাটি প্রায় সমস্ত কিছুতে প্রযোজ্য যা এর উপরে ভিত্তি করে একটি all_ * ভিউ রয়েছে।
মুরমেগিল

1
এই উত্তরটি একটি নুনের দানা দিয়ে নিন। সংস্করণে 12.1.0.2.0 এ describe user_mview_logsফিরে আসে LOG_TABLE VARCHAR2(128)তবে আপনি যদি কোনও বাস্তবায়িত ভিউ লগ নামের জন্য 30 টি অক্ষর বা তার বেশি কিছু পৌঁছানোর চেষ্টা করেন তবে আপনি বেশ কিছু চমকপ্রদ ফলাফল পাবেন get
শৌল

1
128 দৈর্ঘ্য থাকা সত্ত্বেও, আপনার সামঞ্জস্যপূর্ণ পরমটি যদি কোনও পুরানো সংস্করণে সেট করা থাকে তবে আপনি 30 চর সীমাতে আটকে যেতে পারেন।
rtaft

19

সমস্ত_ট্যাব_ কলামগুলি ডিজাইন করুন

একটি TABLE_NAME VARCHAR2 (30) প্রদর্শিত হবে

দ্রষ্টব্য VARCHAR2 (30) এর অর্থ 30 বাইট সীমাবদ্ধতা, 30 অক্ষরের সীমাবদ্ধতা নয় এবং তাই আপনার ডাটাবেসটি মাল্টিবাইট অক্ষর সেট ব্যবহার করতে কনফিগার করা / সেটআপ করা হলে আলাদা হতে পারে।

মাইক


8

ঠিক আছে, তবে যতক্ষণ না আপনি ASCII অক্ষর ব্যবহার করেন ততক্ষণ কোনও মাল্টবাইট চরিত্র সেটটি এখনও ঠিক 30 টি অক্ষরের সীমাবদ্ধতা দেয় ... সুতরাং আপনি যদি হৃদয় এবং হাসি বিড়ালগুলিকে নিজের ডিবি নাম না দিয়ে থাকেন ...


কেবল এটি পরিষ্কার করার জন্য: একাধিক বাইট অক্ষর সেট রয়েছে যার জন্য ASCII চরিত্রের জন্য একাধিক বাইট প্রয়োজন, তবে তাদের জন্য কঠোর "ASCII সুপারসেট" প্রয়োজনীয়তা থাকার কারণে সেগুলি ডাটাবেস অক্ষর সেট হিসাবে ব্যবহার করা যায় না। (আসলে এটির ASCII বা EBCDIC প্ল্যাটফর্মের উপর নির্ভর করে)।
eckes

5

30 চর (বাইটস, সত্যিই যেমন বলা হয়েছে)

তবে আমাকে বিশ্বাস করবেন না; নিজের জন্য এটি চেষ্টা করুন:

SQL> create table I23456789012345678901234567890 (my_id number);

Table created.



SQL> create table I234567890123456789012345678901(my_id number);


ERROR at line 1:

ORA-00972: identifier is too long

আপডেট হয়েছে: উপরে বর্ণিত হিসাবে, ওরাকল 12.2 এবং তার পরে, সর্বাধিক অবজেক্ট নামের দৈর্ঘ্য এখন 128 বাইট।



1

আমি যে 10 জি ডাটাবেসটি নিয়ে কাজ করছি তাতে আমি জানি যে টেবিলের নামগুলি 30 টি অক্ষর দ্বারা সর্বাধিক হয়। কলাম নামের দৈর্ঘ্য কী তা আপনাকে জানাতে পারেনি (তবে আমি জানি এটি> 30)।


1
কলামের নামগুলিও 30 টি অক্ষরের মধ্যেই সীমাবদ্ধ,> 30
জাস্টিন গুহ

1

ডেটা অভিধানের কারণে সর্বাধিক নামের আকার 30 টি অক্ষর যা কেবল 30 বাইটের জন্য স্টোরেজকে অনুমতি দেয়


1

অন Oracle 12.2, আপনি বিল্ট-ইন ধ্রুবক ব্যবহার করতে পারেন ORA_MAX_NAME_LEN, 128 বাইটে সেট করেছেন (12.2 অনুযায়ী) Oracle 12.1সর্বোচ্চ আকারের আগে 30 বাইট ছিল।



0

আমি ওরাকল 12 সি 12.1 এ কাজ করছি। তবে কলাম / টেবিলের নামের জন্য এটি 30 টিরও বেশি অক্ষরের অনুমতি দেয় বলে মনে হয় না seem

একটি ওরাকল পৃষ্ঠাটি পড়ুন যার মধ্যে 30 বাইট উল্লেখ রয়েছে। https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF00223

12 সি তে যদিও সমস্ত_ট্যাব_কলামগুলি টেবিল_নামের জন্য VARCHAR2 (128) বলছে, এটি 30 বাইটের বেশি নামের অনুমতি দেয় না।

12c আর 2 সম্পর্কে আর একটি নিবন্ধ পাওয়া গেছে যা মনে হয় 128 টি অক্ষর পর্যন্ত এটির অনুমতি দিচ্ছে। https://community.oracle.com/ideas/3338


2
নাম নির্বাচন করুন, FROM v $ পরামিতির মান WHERE নাম = 'সামঞ্জস্যপূর্ণ'; অবশ্যই 12.2.0 হতে হবে
rtaft

-4

সারণী এবং কলামের নামের সর্বাধিক দৈর্ঘ্য 128 বাইট বা 128 টি অক্ষর। এই সীমাটি সিবাজ ডাটাবেস ব্যবহারকারীদের জন্য। আমি এই উত্তরটি পুরোপুরি যাচাই করেছি, যাতে আমি এই উত্তরটি আত্মবিশ্বাসের সাথে পোস্ট করেছি ly


3
এটা একটি ওরাকাল প্রশ্ন।
স্টিফান স্টেইনগার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.