Complete and Refactor your SQL code easily!

dbForge SQL Complete provides users with a rich set of tools that are aimed to help them improve the process of creating the code and building queries, thus, enhancing code quality. The tool has many usefull features that are missing in the SSMS and Visual Studio autocomplete functionality.

Context-based code completion

SQL Complete analyzes the context of the code you are typing in the SQL editor and displays the most relevant embedded T-SQL prompts, such as keywords, object names, and whole code phrases.

SQL Complete automatically filters object names and keywords in the list depending on the characters you are typing. Filtering is sensitive to the typed characters, symbols, whitespace and CamelCase.

Context-based prompts

Code completion for CTE

SQL Complete helps you improve readability and simplify maintenance of complex queries with sql autocomplete feature for Common Table Expressions (CTE). A CTE is a temporary data scope that can be used within a single SELECT, INSERT, UPDATE, DELETE, or CREATE VIEW statement. For the recursive CTE statements, the suggestion list shows scalar functions, columns, and aliases.

Common Table Expression Suggestions

Managing aliases

When you write the FROM statement, SQL Complete automatically generates aliases for tables, views, table-valued functions, and synonyms. You can set up custom rules for assigning aliases to table objects. What is more, you can create your own custom aliases and assign them to the objects you constantly use.

SQL Complete offers a number of alias masks for managing custom alias mapping. You can use the alias masks to specify conditions and actions when assigning aliases.

Managing Aliases

Statement Expansion

This feature allows you to insert a list of columns available for required objects (tables, views, etc.) instead of the asterisk (*) symbol by pressing the Tab key.

INSERT, UPDATE, ALTER, and EXEC statements will be expanded to a full code template on pressing the Tab key, to avoid tedious typing. Along with the template, the type of column data will be generated in the comments along with the NOT NULL and ROWGUID properties.

INSERT, UPDATE, ALTER, and EXEC statements suggestion

SQL Refactoring

This feature allows you to improve code readability by giving meaningful and self-explaining names to tables, columns, temporary tables and columns, views, stored procedures, and functions. SQL Complete will automatically correct all references to the renamed objects.

With the help of the rename functionally, you can also change the names of local and SQLCMD variables in a couple of seconds. Preview code changes in a convenient tree-view of the Rename dialog window.

SQL Refactoring

SQL Snippets

A SQL snippet is a frequently used code template which can be inserted into the code you are typing by pressing the Tab key. The feature makes recurrent use of code fragments more comfortable and simple.

Snippets Manager provides a great number of default code templates to choose from. The default snippets can be modified as per your needs. Snippets Manager also allows you to create your own code snippets.

SQL code templates

Column Picker

When you type a SELECT statement or a similar clause, Column Picker prompts a complete list of relevant tables and columns. In the suggestion box, you can select multiple columns at once and they will be added to your SQL document.

As you type the first letters of the column name, the list is filtered and those names that match the letters are shown on the top of the list. In addition to column names, you can see the data type of each column.

Column list prompt

Statement Suggestion

Smart prompts for local and cursor variables, table definitions in DECLARE statements; cursors in OPEN, CLOSE and DEALLOCATE statements and many others.

If you want to grant privileges to users, SQL Complete provides a list of users and roles available in the database.

SQL Complete accelerates your writing of SQL code by offering a list of DDL statements to be inserted based on the context of what you type in the SQL editor.

SQL Complete suggests a full JOIN statement based on foreign keys, or it can prompt conditions based on column names.

Statement prompts

Code Highlighting

The feature allows you to see all identifier occurrences when you click one. SQL Complete also highlights both the opening and closing code elements to visually define separate code blocks. This feature allows you to determine whether element pairs are properly paired and determine misspelled paired code elements. SQL Complete recognizes the following sets of delimiters: IF...ELSE, BEGIN...END, BEGIN TRY...END TRY, etc.

Code Highlighting

Quick Object Information

A hint gives you essential information on database objects while you are writing a code. For tables, you are prompted with column names, data types, additional column properties (e.g., not null and identify attributes), primary, unique, and foreign keys. For other objects, the quick info includes object type and an available user description. When you type call statements, information on stored procedures and function parameters is displayed.

Quick Object Information

Code Navigation

The feature greatly simplifies navigation in large SQL documents. You can see the structure of a current document in an easy-to-navigate Document Outline Window. The Synchronize Document Outline option in the shortcut menu allows you to synchronize document structure straight from the code.

With the Go to definition option, you can quickly locate a needed object in the Object Explorer tree. Document outline window allows navigating through the structure of the current SQL document which can be easily synchronized with the code.

Code Navigation

Suggestion for Linked Servers

If you are using a linked server configuration, you can also use IntelliSense-like prompts when creating queries. SQL Complete supports suggestion for a linked SQL Server.

Suggestion for linked servers

Column List Expansion

When you type a SELECT * FROM clause, you can replace the asterisk ("*") symbol with an explicit list of columns from a specified table or view by pressing the Tab key. When inserted, the columns are automatically formatted according to defined formatting options.

Column list expansion