【问题标题】: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_Services 或 ProductServices 之类的名称,并且可以将局部变量和参数命名为 @Product_Services 或 @ProductServices。
您的下一个最佳选择是不理会表格,只需将局部变量命名为 @Product_Services 或 @ProductServices,即使表格列被命名为 [Product/Services]。
【解决方案2】:
确保您在引用产品/服务名称或使用它重新定义它时正确地将其引用为 [产品/服务]。 [] 是 MS SQL Server 中的引号字符。