উত্তর:
SELECT cols.table_name, cols.column_name, cols.position, cons.status, cons.owner
FROM all_constraints cons, all_cons_columns cols
WHERE cols.table_name = 'TABLE_NAME'
AND cons.constraint_type = 'P'
AND cons.constraint_name = cols.constraint_name
AND cons.owner = cols.owner
ORDER BY cols.table_name, cols.position;
ওরাকল যেহেতু বড় ক্ষেত্রে টেবিলের নাম সংরক্ষণ করে।
'রিচি' থেকে উত্তর হিসাবে একই তবে কিছুটা আরও সংক্ষিপ্ত।
শুধুমাত্র ব্যবহারকারীর সীমাবদ্ধতার জন্য প্রশ্ন
SELECT column_name FROM all_cons_columns WHERE constraint_name = (
SELECT constraint_name FROM user_constraints
WHERE UPPER(table_name) = UPPER('tableName') AND CONSTRAINT_TYPE = 'P'
);
সমস্ত বাধা জন্য প্রশ্ন
SELECT column_name FROM all_cons_columns WHERE constraint_name = (
SELECT constraint_name FROM all_constraints
WHERE UPPER(table_name) = UPPER('tableName') AND CONSTRAINT_TYPE = 'P'
);
user_constraints
দ্বারা প্রতিস্থাপন all_constraints
।
SELECT owner, column_name, position FROM all_cons_columns WHERE (owner, constraint_name) in (SELECT owner, constraint_name FROM all_constraints WHERE UPPER(table_name) = UPPER('&tableName') AND CONSTRAINT_TYPE = 'P') order by owner, position;
Select constraint_name,constraint_type from user_constraints where table_name** **= ‘TABLE_NAME’ ;
(এটি প্রাথমিক কী তালিকাভুক্ত করবে এবং তারপরে)
Select column_name,position from user_cons_cloumns where constraint_name=’PK_XYZ’;
(এটি আপনাকে কলামটি দেবে, এখানে PK_XYZ হল প্রাইমির মূল নাম)
এই কোডটি ব্যবহার করে দেখুন এখানে আমি ওরাকলে প্রাথমিক কী কলামটি পেতে একটি টেবিল তৈরি করেছি যা পরীক্ষা বলা হয় এবং তারপরে কোয়েরি
create table test
(
id int,
name varchar2(20),
city varchar2(20),
phone int,
constraint pk_id_name_city primary key (id,name,city)
);
SELECT cols.table_name, cols.column_name, cols.position, cons.status, cons.owner FROM all_constraints cons, all_cons_columns cols WHERE cols.table_name = 'TEST' AND cons.constraint_type = 'P' AND cons.constraint_name = cols.constraint_name AND cons.owner = cols.owner ORDER BY cols.table_name, cols.position;
নীচের স্ক্রিপ্টটি FindPK.sql এর মতো কিছু হিসাবে সংরক্ষণ করুন।
set verify off
accept TABLE_NAME char prompt 'Table name>'
SELECT cols.column_name
FROM all_constraints cons NATURAL JOIN all_cons_columns cols
WHERE cons.constraint_type = 'P' AND table_name = UPPER('&TABLE_NAME');
এটি তখন ব্যবহার করে বলা যেতে পারে
@findPK