【发布时间】:2011-05-10 21:57:52
【问题描述】:
您好,我实际上是在尝试在 SQL Server 2008 的新视图窗口中执行此操作:
声明@var =(从数据库中选择数据库); exec ('从'中选择名称' + @var ' + .dbo.Names);
这个视图实际上在 SQL Server 中运行,但我无法保存它(它给了我一个错误),我可能只是创建一个表返回函数,在其中执行所有相同的操作并返回表并创建一个视图基本上从该表中获取所有内容,但我不确定这样做可能会导致性能下降。任何建议将不胜感激!谢谢。
解决方案: 我刚刚结束了它删除旧视图并在存储过程中重新创建一个新视图(使用动态 sql)。当该值更改时,我将调用 SP,它将更新视图以指向正确的数据库。感谢所有帮助家伙,知道什么不能做阻止了我尝试这些方法。
【问题讨论】:
-
这在视图中无效,并且 AFAIK 您也不能在 UDF 中使用动态 SQL。
-
呸!那么有没有办法得到这些结果呢?我只是觉得奇怪的是,我可以在 SQL Server 2008 中完全运行它作为我的视图,它运行良好,但它不会让我保存。
-
SSMS 中的视图设计器只是标准的图形查询设计器,因此您可以输入各种任意 SQL 并执行它,但这并不意味着它对视图有效!
-
哦我从来没有意识到哈哈我以为它实际上是一个sql视图调试器。
-
不一定正确,但我正计划检查它,感谢 Martin,这也给了我很大的帮助 :)
标签: tsql sql-server-2008 variables views dynamic-sql