আমার কাছে একটা বাধা আছে users.SYS_C00381400
। আমি কীভাবে সীমাবদ্ধতাটি আবিষ্কার করব? সমস্ত বাধা জিজ্ঞাসা করার উপায় আছে?
আমার কাছে একটা বাধা আছে users.SYS_C00381400
। আমি কীভাবে সীমাবদ্ধতাটি আবিষ্কার করব? সমস্ত বাধা জিজ্ঞাসা করার উপায় আছে?
উত্তর:
select * from all_constraints
where owner = '<NAME>'
and constraint_name = 'SYS_C00381400'
/
সমস্ত ডেটা অভিধানের মতামতের মতো, আপনি যদি আপনার বর্তমান স্কিমা এবং প্রশাসনের ব্যবহারকারীদের জন্য একটি ডিবিএ_সিএনএসআরএনটিএস ভিউ পরীক্ষা করতে চান তবে এটি একটি USER_CONSTRAINTS দর্শন।
সীমাবদ্ধ নামের নির্মাণটি সিস্টেম উত্পন্ন সীমাবদ্ধতার নাম নির্দেশ করে। উদাহরণস্বরূপ, যদি আমরা একটি টেবিলের ঘোষণায় নালকে নির্দিষ্ট না করি। বা প্রকৃতপক্ষে একটি প্রাথমিক বা অনন্য কী। উদাহরণ স্বরূপ:
SQL> create table t23 (id number not null primary key)
2 /
Table created.
SQL> select constraint_name, constraint_type
2 from user_constraints
3 where table_name = 'T23'
4 /
CONSTRAINT_NAME C
------------------------------ -
SYS_C00935190 C
SYS_C00935191 P
SQL>
'C'
পরীক্ষার 'P'
জন্য, প্রাথমিক জন্য।
সাধারণত সম্পর্কের সীমাবদ্ধতার একটি সুস্পষ্ট নাম দেওয়া ভাল ধারণা। উদাহরণস্বরূপ, যদি ডাটাবেস প্রাথমিক কীটির জন্য একটি সূচক তৈরি করে (যা কলামটি ইতিমধ্যে সূচিযুক্ত না হলে এটি করবে) এটি সূচকের নাম বাধা নাম ব্যবহার করবে। আপনি পছন্দ মতো সূচী পূর্ণ ডাটাবেস চান না SYS_C00935191
।
সত্যি কথা বলতে, বেশিরভাগ লোকেরা নূন্যতম প্রতিবন্ধকতাগুলির নামকরণ করতে বিরত হন না।
আরও বিশদ বিবরণ পেতে (কোন টেবিল / কলামটি কোন টেবিল / কলামে রেফারেন্স দেয়) আপনি নিম্নলিখিত কোয়েরিটি চালাতে পারেন:
SELECT uc.constraint_name||CHR(10)
|| '('||ucc1.TABLE_NAME||'.'||ucc1.column_name||')' constraint_source
, 'REFERENCES'||CHR(10)
|| '('||ucc2.TABLE_NAME||'.'||ucc2.column_name||')' references_column
FROM user_constraints uc ,
user_cons_columns ucc1 ,
user_cons_columns ucc2
WHERE uc.constraint_name = ucc1.constraint_name
AND uc.r_constraint_name = ucc2.constraint_name
AND ucc1.POSITION = ucc2.POSITION -- Correction for multiple column primary keys.
AND uc.constraint_type = 'R'
AND uc.constraint_name = 'SYS_C00381400'
ORDER BY ucc1.TABLE_NAME ,
uc.constraint_name;
থেকে এখানে ।