আপনি কীভাবে বলতে পারবেন যে ডিবি 2-র কোনও টেবিলের একটি প্রাথমিক কী আছে?


9

আমরা একটি সরঞ্জাম ব্যবহার করছি যা প্রাথমিক কী সংজ্ঞায়িত করার জন্য আমাদের ডিবি 2 ডাটাবেসে নির্দিষ্ট সারণীগুলির প্রয়োজন।

ডিবিতে একটি নির্বাচিত বিবৃতি ব্যবহারের কোনও উপায় রয়েছে কিনা তা দেখার জন্য যে কোনও প্রদত্ত টেবিল রয়েছে?

ধন্যবাদ।

উত্তর:


10

দাবি অস্বীকার: আমি ডিবি 2 জানি না।

আমি কেবল এগুলি "ডিবি 2 টেবিল সংজ্ঞা" দিয়ে গুগলড করেছি।

সূত্র:

SELECT * 
FROM SYSIBM.SYSTABLES TAB,SYSIBM.SYSCOLUMNS COL 
WHERE TAB.CREATOR = COL.TBCREATOR 
AND TAB.CREATOR = 'xxxx' 
AND TAB.NAME = 'xxxxxxxxxxxxx' 
AND TAB.NAME = COL.TBNAME 
AND TAB.TYPE = 'V' ( OR 'T' ) 
ORDER BY 1,2;

সূত্র:

SELECT * FROM syscat.tabconst WHERE type = 'P';

1
ট্যাব.টিওয়াইপি = 'ভি' আপনাকে এমন মতামত দেবে যা আমি বিশ্বাস করি যে আপনি চান না। টেবিলগুলির জন্য TAB.TYPE = 'T' ব্যবহার করুন।
গিলশালিত

8

আপনি একটি করতে পারেন db2look, যা আপনাকে টেবিলের জন্য ddls দেবে।

db2look -d db_name -e -x -z schema_name -t table_name

Dba.se এ আপনাকে স্বাগতম এবং এই সহায়ক উত্তরের জন্য ধন্যবাদ - আমি আশা করি আপনি আমার ফর্ম্যাটিং সম্পাদনায় আপত্তি করবেন না?
জ্যাক বলছেন topanswers.xyz

@ জ্যাকডুগলাস - এই সম্পাদনাগুলির জন্য ধন্যবাদ, এখন বেশ পঠনযোগ্য দেখাচ্ছে
গোবিন্দ কৈলাস

0

এটি সম্ভবত সবচেয়ে সহজ বিকল্প, যেহেতু একটি প্রাথমিক কী মেলানো সূচক দ্বারা সমর্থিত:

select COLNAMES from SYSIBM.SYSINDEXES where tbname = 'TABLE' and uniquerule = 'P';

আপনি কলাম ক্যাটালগ সারণীটি জিজ্ঞাসা করতে পারেন:

select NAME from SYSIBM.SYSCOLUMNS where tbname = 'TABLE' and keyseq > 0 order by keyseq;

2
প্রাথমিক কী হয় না একটি সূচক (যদিও এটা এক দ্বারা সমর্থিত)।
মোস্তাকাসিও

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