Is there a good tool for ensuring that an SQL query is valid ANSI SQL, and optionally what DBMSs will fail to interpret it? I've found http://developer.mimer.com/validator but I was wondering whether there is a command line tool, preferably open source.
3 Answers
Here is a SQL Library that can help you to do vendor-specific offline SQL syntax check via command line, both Java and .NET demo were available.
Comments
Maybe a parser/generator like ANTLR or JavaCC has an ANSI SQL 92 grammar already built. If so, you can run the parser/generator, build the classes that come out, and Bob's your uncle.
I see that ANTLR has one that's based on Oracle PL/SQL. Maybe that can help you. ANTLR is a terrific tool, well worth knowing.
Comments
For command-line use or even as a IDE extension:
sqruff is a SQL linter and formatter written in Rust. Key features include:
Linting: Advanced, customizable SQL linting capabilities to ensure query quality.
Formatting: Automated, configurable formatting for SQL code consistency.
Speed: Fast and efficient, with minimal overhead.
Portability: Designed to be easily integrated into various development workflows like a website.
Try it out in the playground!