【问题标题】:I have a problem creating stored procedure when I put a field with /当我使用 / 放置字段时,我在创建存储过程时遇到问题
【发布时间】:2011-03-08 23:12:19
【问题描述】:

我在 sql server 2005 的表中有一个字段 [Product/Services]。现在我想为该表创建一个存储过程,但它不断给出错误,并且当我在表中只放产品而不是存储过程时工作正常。现在我想将 [Product/Services] 放在我的表中,我该怎么做?????

【问题讨论】:

  • 使用特殊字符有表或列的名称是个坏主意。
  • 分享你得到的代码和错误信息

标签: sql-server sql-server-2005 tsql


【解决方案1】:

尝试在列/变量/参数/表格/视图/过程/等名称中包含特殊字符总是一个坏主意。您的所有代码都将不得不永远绕着这个糟糕的决定跳舞。

如果没有关于您的特定代码和/或错误消息的任何详细信息,我只能提供这些关于 SQL Server 中命名规则的链接:

Identifiers

Delimited Identifiers

来自第二个链接:

Microsoft SQL Server 没有 识别变量名并存储 过程参数是 划定的。这些类型的标识符 必须遵守定期规则 标识符。

最好的办法是将列命名为 Product_ServicesProductServices 之类的名称,并且可以将局部变量和参数命名为 @Product_Services@ProductServices

您的下一个最佳选择是不理会表格,只需将局部变量命名为 @Product_Services@ProductServices,即使表格列被命名为 [Product/Services]

【讨论】:

    【解决方案2】:

    确保您在引用产品/服务名称或使用它重新定义它时正确地将其引用为 [产品/服务]。 [] 是 MS SQL Server 中的引号字符。

    【讨论】:

      猜你喜欢
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      相关资源
      最近更新 更多