1

Web 全体でこれを検索しても解決策を見つけることができませんでした。ほとんどの回答はツールを推奨しているため、SQL クエリなどではこれが非常に難しい可能性があると思われますが...

Toad を使用して DB2 データベースのクエリを作成するように言われました。これは、2 つのスキーマを比較し、違いがある場合に結果を提供します。この機能が Toad に存在することは知っていますが、何らかの理由で DBA が使用したくありません。追加のソフトウェアを購入することはオプションではありません。

私は SQL の知識や経験が非常に限られていますが、これは私の「学習」タスクの 1 つです。私はあまり進歩しておらず、非常に立ち往生していると感じています。誰でも私に提案を提供できますか?助けていただければ幸いです。

4

2 に答える 2

0

IBM Data Studioをお試しください。無料です。任意の2つのオブジェクトを選択して、それらを比較できます。

于 2012-07-25T12:20:12.563 に答える
0

スキーマとは、テーブルのスキーマを意味していると思いますよね? そのすべての情報は、syscatスキーマのビューを通じて利用できます。たとえば、SYSCAT.TABLESおよびSYSCAT.COLUMNSを参照するか、詳細についてはドキュメントを参照してください。これらのビューは、他のビュー/テーブルと同じようにクエリを実行できるため、2 つのテーブルに同じ列が含まれているかどうかを比較するには、次のようにします。

  SELECT colname, colno, typeschema, typename FROM syscat.columns WHERE tabname = 'tab1' AND tabschema = 'schema'
  EXCEPT
  SELECT colname, colno, typeschema, typename FROM syscat.columns WHERE tabname = 'tab2' AND tabschema = 'schema'

たとえば、これは、tab1 にあるすべての列を返すわけではありませんが、tab2 にはありません。

于 2011-10-13T23:58:44.917 に答える