T-SQL Parser

The built-in Micorsoft SQL Server SQL engine in General SQL Parser provides in-depth analysis of an organization's T-SQL script at a detailed level that would not be possible without a complete, 100% compatible query parser.

Parsing SQL is a notoriously difficult task because the syntax of T-SQL is very ambiguous in a lot of places. Many people have attempted to write a full SQL grammar with parser generate tool and failed.

Now you can fully incorporated this T-SQL parser into your products, instantly adding a powerful SQL processing capability to your program. With the right library, you can get your job done quickly by saving hundred of hours, if not more, on developing time.

Clean up messy SQL codes

Easily integrate SQL formatter into your application for a color coded layout that is easy to navigate, giving your product a professional feeling.

Detect SQL syntax errors

Your application will be able to validate SQL syntax before a database executes the query. This is very useful especially if your SQL was dynamically built based on user input.

Rid SQL injections

Avoid being vulnerable to SQL injection in your ASP.NET or Java application, by automatically detecting malicious SQL segment with our ready-to-use library.

Retrieve/Refactor table & column name

Precisely determining and renaming every table and column in stored SQL statements is very complex with a lot of nesting and sub-queries. With us, however, that tedious procedure can become hassle-free one for you.

Find affected SQL objects

Parse out the affect SQL objects in a SQL file that can have many different types of SQL (select, insert, create, drop, etc), and helping to determine what is being affected, including but not limited to schema, table, column.

Discover the relationship in DDL

Quickly locate the primary key and/or foreign key in DDL scripts to figure out the complex relationship among the various tables. Extracted table, attribute names, data types can be used to generate the CRUD-Statements.

Query parse tree in XML

Parsing SQL is a notoriously difficult task, but we are here to help. You will be provided with a SQL query parse tree in XML output that will allow you to further process SQL scripts.

Rewrite and convert SQL

Modify SQL expression/condition in where clause to reconstruct a new filter. Rewrite Oracle proprietary joins to ANSI SQL compliant joins. Translate SQL between different databases.

CRUD Reportor

Read complex and large SQL scripts to find out tables have Create, Read, Update, Delete and Insert operations against them immediately, it's almost impossible to do that without help with a tool.

SQL Parser can even do more

We are dedicated to constantly improving our product so it will be easier to use with more flexibility, making it a valuable asset to your software product. Here, we have provided you with additional demos that may be helpful to you.


Supported SQL

Level 1: SQL parser recognizes that this is a valid SQL statement, but can't validate the syntax of this specific SQL statement. This demo shows how General SQL Parser can handle this kind of SQL statements.

Level 2: SQL Parser fully parses this kind of SQL statements with detailed query parse tree node elements and provides everything you need to analyze and manipulate this kind of SQL statements.

Level 1 statements: 190, Level 2 statements: 100, generated by General SQL Parser Java Version,2017/09/29

SQL statements Level 1 Level 2
add counter signature Y
alter application role Y
alter assembly Y
alter asymmetric key Y
alter authorization Y
alter certificate Y
alter credential Y
alter database Y Y
alter endpoint Y
alter fulltext catalog Y
alter fulltext index Y
alter function Y Y
alter index Y
alter login Y
alter master key Y
alter message type Y
alter partition function Y
alter partition scheme Y
alter proc Y Y
alter queue Y
alter remote service binding Y
alter role Y
alter route Y
alter schema Y
alter sequence Y
alter service Y
alter service master key Y
alter symmetric key Y
alter table Y Y
alter trigger Y Y
alter user Y
alter view Y
alter xml schema collection Y
backup certificate Y
backup database Y
backup log Y
backup master key Y
backup service master key Y
begin catch Y Y
begin conversation timer Y
begin dialog Y Y
begin distributed Y
begin tran Y Y
begin try Y Y
break Y Y
bulk insert Y Y
checkpoint Y
close Y Y
close all symmetric keys Y
close master key Y
commit Y Y
continue Y Y
create aggregate Y
create application role Y
create assembly Y
create asymmetric key Y
create certificate Y
create clustered index Y Y
create contract Y
create credential Y
create database Y Y
create default Y
create endpoint Y
create event notification Y
create fulltext catalog Y
create fulltext index Y
create function Y Y
create login Y
create master key Y
create message type Y
create partition function Y
create partition scheme Y
create proc Y Y
create queue Y
create remote service binding Y
create role Y
create route Y
create rule Y
create schema Y Y
create sequence Y Y
create service Y
create statistics Y
create symmetric key Y
create synonym Y Y
create table Y Y
create trigger Y Y
create type Y Y
create user Y
create view Y Y
create xml schema collection Y Y
dbcc Y Y
deallocate Y Y
declare Y Y
delete Y Y
deny Y
disable trigger Y
drop aggregate Y Y
drop application role Y Y
drop assembly Y Y
drop asymmetric key Y Y
drop certificate Y Y
drop contract Y Y
drop counter signature Y Y
drop credential Y Y
drop database Y Y
drop default Y Y
drop endpoint Y Y
drop event notification Y Y
drop fulltext catalog Y Y
drop fulltext index Y Y
drop function Y Y
drop index Y Y
drop login Y Y
drop master key Y Y
drop message type Y Y
drop partition function Y Y
drop partition scheme Y Y
drop proc Y Y
drop queue Y Y
drop remote service binding Y Y
drop role Y Y
drop route Y Y
drop rule Y Y
drop schema Y Y
drop sequence Y Y
drop service Y Y
drop statistics Y Y
drop symmetric key Y Y
drop synonym Y Y
drop table Y Y
drop trigger Y Y
drop type Y Y
drop user Y Y
drop view Y Y
drop xml schema collection Y Y
enable trigger Y
end conversation Y Y
exec Y Y
exec as caller Y Y
fetch Y Y
go Y Y
goto Y Y
grant Y Y
if Y Y
insert Y Y
insert bulk Y
kill Y
kill kill query notification subscription Y
kill stats Y
locktable table Y
move conversation Y
merge Y Y
open Y Y
open master key Y
open symmetric key Y
print Y Y
raiserror Y Y
readtext Y Y
receive Y
reconfigure Y Y
restore database Y
restore filelistonly Y
restore headeronly Y
restore labelonly Y
restore log Y
restore master key Y
restore rewindonly Y
restore service master key Y
restore verifyonly Y
return Y Y
revert Y Y
revoke Y Y
rollback Y Y
save Y Y
select Y Y
send on conversation Y Y
set Y Y
set rowcount Y Y
setuser Y
shutdown Y
throw Y Y
truncate table Y Y
update Y Y
update statistics Y
updatetext Y Y
use Y Y
waitfor Y Y
while Y Y
with xmlnamespaces Y
writetext Y



If you have any questions about General SQL Parser, You can always send us an email and we'll get back to you within 24 hours.


Any other benefits can I get by using this SQL Parser?

Yes, of course. We collect all kinds of examples in this page to illustrate how and why you want to use general sql parser, hope it can help you to make better use of this library.