如何从一个变量运行一个超过8000个字符的SQL语句?

前端之家收集整理的这篇文章主要介绍了如何从一个变量运行一个超过8000个字符的SQL语句?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以使用以下代码进行微小的查询
DECLARE @sql VARCHAR(8000)
SET @sql = 'SELECT * FROM myTable'
Exec @sql

上述方法对于维护大量的代码是非常有用的,特别是当我们需要进行一次更改并将其反映到任何地方时.

我的问题是我的查询(这只是一个单一的查询),我想加入到@sql变量中使用超过25个表连接,其中一些临时表变量包含复杂的操作,因此其长度超过8000个字符.

我希望使用TEXT数据类型来存储此查询,但MSDN显示一条警告消息,Microsoft计划从其下一个版本中删除Text,NText和Image数据类型.我希望我的代码在将来也可以运行.

我想把这个查询存储在一个单独的文件中,但是由于它使用了表变量和其他特定于过程的参数的连接,我怀疑这是否可行.

请告诉我一个将大型查询存储到变量中的方法,并在一个过程中执行多次.

提前致谢!

解决方法

如果您使用的是sql Server 2008或更高版本,则可以使用VARCHAR(MAX)
DECLARE @sql VARCHAR(MAX)

猜你在找的MsSQL相关文章