如何为 SQL 语句创建单元测试?

Mar*_*oma 6 python sql unit-testing snowflake-cloud-data-platform linter

我有几个存储为文件的 SQL 语句,由 Python 脚本执行。该数据库托管在 Snowflake 中,我使用Snowflake SQLAlchemy连接到它。

我如何测试这些陈述?我不想执行它们,我只是想检查它们是否可以执行。

检查它是否是有效的标准 SQL是一件非常基本的事情。更好的答案是考虑雪花特定的东西,例如

copy into s3://example from table ...
Run Code Online (Sandbox Code Playgroud)

最好的答案是还检查权限的东西,例如SELECT表是否可见/可读的语句。

小智 0

我非常喜欢这个想法,但是我可以建议一种解决方法,因为我经常需要检查我的语法并需要帮助。如果您计划使用 Snowflake 接口,我建议您确保在需要验证的 SELECT 语句上使用 LIMIT 10 或 LIMIT 1。

我建议的另一个技巧是,如果您刚刚开始使用,请与 Snowflake 代表讨论试用事宜。他们还会针对您想要验证的更具体的查询提供很多提示。

最后,根据一些评论,确保它使用 SQL: ANSI 和 https://docs.snowflake.net/manuals/index.html 中的实时内容供参考。