Chat now with support
Chat with Support

Toad for SQL Server 7.0 - Installation Guide

Reverse Engineer Queries

One way to build a query is to begin adding columns and creating joins in the Query Builder, and then send the query to the editor to add more complex functionality, such as a UNION join. You can also send a query from the editor to the Query Builder. For example, you inherited a large query when an employee left and you need to edit it to resolve an issue. After looking at the query in the editor for some time, you still cannot decipher it. So, you right-click the statement and select Send to Query Builder. Now that you can visually see how the tables are referenced, you can identify and resolve the issue.

Considerations and Limitations in the Query Builder

Consider the following when reverse engineering a query using the Query Builder:

General  

Description

Single statement support

The Query Builder only supports one statement at a time. If you add multiple statements to the Query tab, only the first statement is used. If you make any changes to the statement on the Diagram tab, the other statements are lost.

Quote identifiers

If you selected the Quote Identifiers checkbox in Tools | Options | Database | General and generate a query from the Query Builder in SQL Server, the query cannot be reverse engineered.

Where Condition

Description

Where condition does not display in the Criteria grid after sending it to the Query Builder from the Editor

If you send a query that contains a Where condition from the editor to the Query Builder, it displays in a Global Where clause bubble on the Diagram pane instead of in the Where Condition field in the Criteria grid.

You can double-click the Global Where Clause bubble in the Diagram pane or can click to edit it.

You can also use the Where condition fields in the Criteria grid to add new Where conditions. Although they display in the grid, they are added to the Global Where clause in the Query tab.  

Where condition created in the Criteria grid of the Diagram tab disappears

If you define a Where condition in the Criteria grid and edit any part of the query in the Query tab, the Where condition is removed from the Criteria grid and placed in a Global Where Clause bubble.

You can double-click the Global Where Clause bubble in the Diagram pane or can click to edit it.

Having Condition

Description

Having condition does not display in the Criteria grid after sending it to the Query Builder from the Editor

If you send a query that contains a Having condition from the editor to the Query Builder, it displays in a Global Having clause bubble on the Diagram pane instead of in the Having Condition field in the Criteria grid.

You can double-click the Global Having Clause bubble in the Diagram pane or can click to edit it.

You can also use the Having condition fields in the Criteria grid to add new Having conditions. Although they display in the grid, they are added to the Global Where clause in the Query tab.

Having condition created in the Criteria grid of the Diagram tab disappears

If you define a Having condition in the Criteria grid and edit any part of the query in the Query tab, the Having condition is removed from the Criteria grid and placed in a Global Having Clause bubble.

You can double-click the Global Having Clause bubble in the Diagram pane or can click to edit it.

Query Builder Diagram Tab

Description

Comments and code regions removed after making changes in the Diagram tab

When reverse engineering a statement from the editor or the Query tab and switching to the Diagram tab, if the statement contains a block comment or code region and you make a change in the Diagram tab, the comment or code region is removed from the statement.

Same column cannot be used in the criteria grid

You cannot use the same column more than once in the criteria grid. Even if you create a separate alias for the second use of the column, that column is created as a calculated field. See Create New Columns from Existing Columns for more information.

Execute with different query in the Diagram and Query tabs

If the query in the Diagram tab is different than the query in the Query tab, executing the query executes the SQL in the Query tab instead of the Diagram.

Save with different query in the Diagram and Query tabs

The Query Builder saves both the statement and diagram in the same file. The contents of the statement and diagram can be different without losing changes.

To reverse engineer a query

  1. Right-click a statement in the Editor, and select Send to Query Builder.See About Editing SQL for more information.

    or

    Click in the Query Builder to send a statement to the Editor. Skip the remaining steps and continue to edit the query. See About Editing SQL for more information.

    Troubleshooting: If the query cannot be modeled in the Diagram tab, a message displays and the statement opens in the Query tab. This usually occurs because the graphical diagram cannot support some functionality in the statement. You can view an explanation for this in the Output window or by hovering over the syntax with a red underline () in the Query tab. To continue, correct the error and click to apply the change and open the Diagram tab.

  2. Continue to build your query visually using the diagram.

  3. Select the Query tab and make any additional edits. Indicators for an edited statement are as follows:

     

    Inserted lines

     

    Modified or removed lines

     

    Modified characters

    Use the toolbar in the lower-right corner of the Query tab to modify the color used for each indicator.

    Caution:  If you manually enter or update the statement in the Query tab, you must click to model the query in the Diagram tab. If you do not do this and make additional changes in the Diagram tab, any changes you made in the Query tab are lost.

  4. Click to execute the query.

Tip: If you have multiple statements in the Editor and you want to send only one to the Query Builder, highlight the statement, then right-click it and select Send to Query Builder.

  

Related Topics

Build Queries Visually 

Related Documents