当您需要能够更改服务器和数据库引用时,是否有使用EXEC(@sql)
的良好替代方法,如下例所示?
SET @sql = N'SELECT * FROM '+@server+'.'+@database+'.dbo.mytable'
EXEC(@sql)
我一直在使用这种方法一段时间但是当查询变得更长时,验证查询会变得更加复杂。
有什么建议吗?
更新
我们所有的开发都是在visual studio中完成的,因此理想的解决方案是在查询保持动态的同时仍然能够获得intelliSense的好处。