【问题标题】:I have a view that runs fine when executed, but when I try to open it in design mode, it throws a parsing error我有一个在执行时运行良好的视图,但是当我尝试在设计模式下打开它时,它会引发解析错误
【发布时间】:2015-03-29 08:48:10
【问题描述】:

我没有足够的声望来发布屏幕截图,所以我会尽力解释发生了什么。

正如我在标题中所说,它是一个正常运行时执行得很好的视图。当我尝试使用设计视图打开它时,它会抛出此错误:

i - 解析 > SQL 窗格的内容时遇到以下错误:

'(' 附近的 WHERE 子句出错。无法解析查询文本。

WHERE 子句没有任何问题,或者我的语法认为它运行良好。我担心的是有一些扩展属性试图定义它在设计模式下的外观。我完全不熟悉这个概念。

这是一个错误,还是我的 SQL 有问题?出于安全原因,我已更改表的名称

WHERE     (dbo.tblxx.bolObsolete = 'False') AND (dbo.tblxy.bolObsolete = 'False')               

【问题讨论】:

  • 发布你的 SQL 语句!!!我们无法读心......
  • 我发布了我的 WHERE 子句,它说我搞砸了
  • 我不知道如何明智地发布整个查询格式,但我可以向您保证没有语法错误。这与设计者解析查询的方式有关,我想知道其他人是否遇到了这个问题。
  • 如果右键单击视图并按 Script View As > ALTER To > New Window 会发生什么?它是否为视图编写脚本?我建议您尝试停止使用设计器,因为它有很多限制。
  • 我可以将视图编写成创建、更改、删​​除和创建等脚本。设计器是唯一的问题。我可能不太关心设计器,但我的 PDL 喜欢使用它,他希望能够在不收到错误消息的情况下调出设计器。

标签: sql-server tsql sql-server-2008-r2 sql-server-2012 sql-view


【解决方案1】:

除了在 management studio 中使用 T-SQL 之外,没有其他解决方案。这是一个错误,或者正如 Microsoft 设计的那样。

视图设计器有更多的问题,而不仅仅是 BIt 数据类型。设计器不支持几种有效的 SQL 语法。这就是我从不使用设计器而只是在管理工作室中编写创建/更改语句的原因。

【讨论】:

  • 我将此标记为答案,因为它确实解释了正在发生的事情。这与我不久前在做一些研究后告诉我的项目负责人所说的很接近。
  • 也许我应该改写我的回答:“除了在管理工作室中使用 T-SQL 之外,没有解决该问题的方法。这是一个错误,或者正如 Microsoft 所设计的那样”希望这会停止关于回答与否的讨论。这里的另一条评论是,显然您需要声誉才能回答问题。好吧,我在 Stackoverflow 上没有名声。但我确实有超过 15 年的 SQL Server 经验,并且是本地 SQL 社区的一员。 @SQL 泰勒:谢谢!!如果您有任何问题,请告诉我。我会尽力帮助你!作为一个社区应该!
  • 谢谢@Nicoverbaenen!我非常感谢您抽出时间来提供您的意见。我完全同意,有时堆栈溢出社区可能非常关键,在这种情况下,不幸的答案是除了在 Management Studio 中使用 TSQL 之外没有真正的答案。
猜你喜欢
  • 2019-11-22
  • 1970-01-01
  • 2018-12-12
  • 2012-04-25
  • 2018-03-22
  • 1970-01-01
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多