About Procedure Flow — turn SQL into a flowchart
Long stored procedures are difficult to reason about. A thousand lines of nested conditionals, loops and error handlers hides the actual control flow, and the tables a procedure touches are usually scattered across dozens of statements.
This tool parses a procedure and draws it: a flowchart of the branches, loops and handlers, plus a data-lineage view of which tables it reads and which it writes. It understands T-SQL, PL/SQL, PL/pgSQL, MySQL and Snowflake, and detects the dialect automatically.
How to use it
- Paste your procedure, or upload a .sql file. You can also point it at a whole folder to search across every procedure by name or by the tables it touches.
- Read the flowchart. Conditionals show both arms, loops show their back edge, and error handlers appear as reachable paths rather than being hidden.
- Switch to the lineage view to see reads and writes, or the call graph to see how procedures in a folder call each other.
- Download the diagram as PNG or SVG for documentation or a review.
Frequently asked questions
- Is my SQL uploaded anywhere?
- No. The parser runs entirely in your browser, in both the local and public versions. Your SQL never reaches a server, which matters when the procedure is proprietary.
- What happens with dynamic SQL?
- It is reported rather than guessed at. Where a statement is built at runtime, or an object is named indirectly, the tool lists it in a panel above the chart as something it could not resolve. A chart that quietly omitted these would be worse than one that admits the gap.
- Which SQL dialects are supported?
- T-SQL (SQL Server), PL/SQL (Oracle), PL/pgSQL (PostgreSQL), MySQL and Snowflake. The dialect is detected from the syntax, including procedures wrapped in quoted bodies.