1

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

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

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

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

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

4

2 回答 2

9

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

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

于 2012-10-03T20:57:17.243 回答
0

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

于 2012-10-03T20:33:07.880 回答