A great option for Go projects where you aren't exploring your queries as changing and regenerating is cumbersome.<p>Also, SQLC doesn't allow for dynamic query building so think about an input search struct from which you may add where clauses — or not.<p>Also doesn't support multiple inserts with N rows being inserted.<p>Otherwise for standard queries, it's great.
Static templates for SQL becomes a chore to express dynamic queries. A dynamic query depends from incoming request. For example search filters should add or delete conditional expressions for a query.<p>I have a little research[1] on dynamic queries.<p>[1]: <a href="https://github.com/baverman/sqlbind?tab=readme-ov-file#dynamic-queries">https://github.com/baverman/sqlbind?tab=readme-ov-file#dynam...</a>
Numbered parameters become fragile quite fast for even simple queries. Basically you couldn't safely use query until carefully revising a template. A template change could potentially break existing queries. It's kinda scary.<p>If library supports named parameters they should be used by default in examples.