আপনি কীভাবে বলতে পারবেন যে ডিবি 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.