#include 是否有 T-SQL 等效项,以及为什么



可能的重复项:
TSQL 中的常量和包含文件

我一直在寻找 C"#include"指令的 T-SQL 等效项。由于我没有找到,我想知道

  • MS是否有可能不包含任何类型的SQL文件包含/联接执行
  • 如果没有,为什么
  • 如果没有,有没有更好的方法让我一次执行多个SQL文件而无需复制粘贴或手动预编译

对于那些对我的动机感到好奇的人,我正在编写一组类似的查询,我发现外部化常量(来自枚举表)、预计算(制作一些测试输入表)和参数变量(我正在处理的子集)很方便。

据我所知,我不能真正使用存储过程或函数(而且我不喜欢用这些污染我的数据库的想法)。

可以考虑在 SQLCMD 模式下执行,无论是在 SSMS 中还是通过 sqlcmd 实用工具(命令行)。 有一个:r <file name>命令允许您在当前执行会话中包含外部文件。 因此,如果您在较大脚本的顶部附近包含一个:r my_init_script.sql,它可能会实现您所追求的。

请注意,这适用于 SQL 2005 及更高版本。

可以尝试使用存储过程。 您将能够在每个命令中放置许多命令,并使用参数来控制它们。 此外,还可以根据需要串联调用不同的存储过程。 如果你有一堆"常量",你可以使用表来存储它们,并根据需要选择它们。

最新更新