With AQT v7 we introduced the Compare Objects function, which is part of the Extended Edition of AQT.
If you are not licensed for the Extended Edition you may still use this simpler, quicker compare.
This window is used to compare the definition of two tables. You activate this window from the Database Explorer by Tools > Simple Compare > Compare Definition to another table.
Alternatively, if you are using the Compare Schemas function, click on Compare Columns (or double-click a table) to open this window.
When you enter this feature from the Database Explorer, you will be asked to select the table you are comparing to. You can choose any table, view, or synonym in any database you are connected to.
The definitions of the tables will be displayed side by side.
You can select whether you are Comparing by Column Number or Column Name. The default is Column Number. Compare by name is useful if the tables have the same columns, but they are in a different order.
The status-bar at the bottom of the window will report on whether the tables compare OK or not. If not, your PC will also beep.
If there are any differences in the column definitions, they will be highlighted in red.
The right-most column (Compare) will also give you a short description of the differences between the columns. If the columns are the same, it will have OK on a green background.
You can select another table to compare to by clicking on the button on the right of the To table name.
If you have gone into this Window from the Compare Schema function, the Prev and Next menu items will be active. Click on these to move through entries in the Compare Schemas result-grid.
AQT only compares name, type, length, scale and nulls. Other column attributes (such as default value and description) are not compared.
The compare doesn’t just work for tables, but also Views, Synonyms and AS400 Logicals/Physicals. For these, only the definitions of the columns are compared.
It is possible to compare across database types (eg. a table defined in Oracle to a table defined in DB2). However this is generally not very successful because of the numerous differences in data types between different databases. However the side by side of the definitions makes it easy to do an eyeball comparison of the definitions.