কীভাবে আমি ওরাকল এসকিউএল এর স্কিমাতে সমস্ত টেবিল তালিকা করব?
কীভাবে আমি ওরাকল এসকিউএল এর স্কিমাতে সমস্ত টেবিল তালিকা করব?
উত্তর:
অন্য স্কিমাতে সমস্ত সারণী দেখতে আপনার নিম্নলিখিত সিস্টেমের সুবিধাগুলির এক বা একাধিক হওয়া দরকার:
SELECT ANY DICTIONARY
(SELECT | INSERT | UPDATE | DELETE) ANY TABLE
বা বড় হাতুড়ি, ডিবিএ ভূমিকা।
এর যে কোনও একটির সাথে আপনি নির্বাচন করতে পারেন:
SELECT DISTINCT OWNER, OBJECT_NAME
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND OWNER = '[some other schema]'
এই সিস্টেমের সুযোগগুলি ব্যতীত, আপনি কেবল সারণীগুলি দেখতে পারবেন যা আপনাকে সরাসরি বা কোনও ভূমিকার মাধ্যমে কিছু স্তরের অ্যাক্সেসের অনুমতি দেওয়া হয়েছে।
SELECT DISTINCT OWNER, OBJECT_NAME
FROM ALL_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND OWNER = '[some other schema]'
অবশেষে, আপনি সর্বদা আপনার নিজের টেবিলগুলির জন্য ডেটা ডিকশনারিটি জিজ্ঞাসা করতে পারেন, কারণ আপনার টেবিলগুলিতে আপনার অধিকারগুলি বাতিল করা যাবে না (10 গ্রাম হিসাবে):
SELECT DISTINCT OBJECT_NAME
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
DISTINCT
। owner, object_name
অদ্বিতীয়ALL_OBJECTS
owner, object_name
ডিবিএ_জেক্টগুলিতে কোনও উপায়েই অনন্য নয়; প্যাকেজ সংস্থা এবং প্যাকেজগুলি উভয়ই সেই ভিউতে উপস্থিত হয় এবং সারণী এবং সূচীগুলি পৃথক নেমস্পেসে থাকে।
SELECT table_name from all_tables where owner = 'YOURSCHEMA';
আপনি জিজ্ঞাসা করতে পারেন USER_TABLES
select TABLE_NAME from user_tables
এটি চেষ্টা করে দেখুন, প্রতিস্থাপন করবেন? আপনার স্কিমা নাম সহ
select TABLE_NAME from INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA =?
AND TABLE_TYPE = 'BASE TABLE'
আপনি JDBC এর (জাভা) সঙ্গে ওরাকল ব্যবহার করছেন তাহলে আপনি ব্যবহার করতে পারেন DatabaseMetadata বর্গ। আপনি যদি ADO.NET এর সাথে ওরাকল অ্যাক্সেস করে থাকেন তবে আপনিও অনুরূপ পদ্ধতির ব্যবহার করতে পারেন।
যদি আপনি ওডিসি দিয়ে অর্যাকল অ্যাক্সেস করে থাকেন তবে আপনি এসকিউএল টেবিলগুলি ব্যবহার করতে পারেন ।
অন্যথায়, আপনার যদি কেবল এসকিউএলপ্লাস বা অনুরূপ ওরাকল ক্লায়েন্টের তথ্য প্রয়োজন হয় তবে ইতিমধ্যে উল্লিখিত প্রশ্নের মধ্যে একটি করবে। এই ক্ষেত্রে:
select TABLE_NAME from user_tables
select * from cat;
এটি ব্যবহারকারীর_ ক্যাটালগের আপনার স্কিমা বিড়ালের প্রতিশব্দে সমস্ত সারণী প্রদর্শন করবে
আপনি যদি মালিকের নাম জানেন তবে আপনি সরাসরি দ্বিতীয় ক্যোয়ারী চালাতে পারেন।
- প্রথমে সেখানে সমস্ত মালিকানাধীন কী আছে তা নির্বাচন করতে পারেন:
SELECT DISTINCT(owner) from SYS.ALL_TABLES;
- তারপরে আপনি সেই মালিকের অধীনে সারণীগুলি দেখতে পাবেন:
SELECT table_name, owner from all_tables where owner like ('%XYZ%');
ডিবি স্কিমা সম্পর্কে কিছু তথ্য দেখানোর জন্য আমার সাধারণ ইউটিলিটিটি দেখুন । এটি এর উপর ভিত্তি করে: ওরাকল ডেটা ডিকশনারি ব্যবহার করে একটি ডেটা মডেল বিপরীত প্রকৌশল
যদি আপনার পাশাপাশি টেবিলের আকারও প্রয়োজন হয় তবে এটি কার্যকর হবে:
select SEGMENT_NAME, PARTITION_NAME, BYTES from user_segments where SEGMENT_TYPE='TABLE' order by 1
OWNER
স্কিমার অধীনে সমস্ত সারণীর জন্য সারণির নাম এবং সারিগুলির নাম :
SELECT table_name, num_rows counter from DBA_TABLES WHERE owner = 'OWNER'
%_OBJECTS
পরিবর্তে এর ব্যবহার ব্যতীত "সর্বাধিক সম্পূর্ণ উত্তর"%_TABLES
।