These objects are difficult objects to compare, as they are generally defined by a block of text, such as a view or procedure definition. A "simple" compare of this text will show a difference when only a single byte is different; this can often happen due to differences in formatting such as extra blanks or linefeeds.
AQT will deal with in two ways
Firstly, AQT will unformat the text before comparing it. Unformatting the text will remove all linefeeds, tabs and extra blanks. By doing this, AQT is more able to deal with simple differences in the formatting of the definitions.
When you view the compare results, you will be shown the unformatted text in the compare results. This may be less readable than the original view / procedure definition, however is useful for seeing the difference between the definitions.
If you are comparing objects from two different schemas, AQT will do a replace the schema names in the values. This is best demonstrated with an example.
Suppose you are comparing view Prod.Cust_Orders to Dev.Cust_Orders. Prod.Cust_Orders has the definition:
Create View Prod.Cust_Orders As
Select * From Prod.Customer_Details a, Prod.Order_Details a,
Where a.Cust_Code=b.Cust_Code
Whereas Dev.Cust_Orders has the definition:
Create View Dev.Cust_Orders As
Select * From Dev.Customer_Details a, Dev.Order_Details a,
Where a.Cust_Code=b.Cust_Code
To compare these two definitions, AQT will replace "Dev." with "Prod." in the second definition before comparing it with the first. This will provide a more realistic comparison of the definitions as all the view text.