【发布时间】:2011-08-17 03:53:12
【问题描述】:
我有一个用于 SQL 2000 的存储过程,它有一个数据类型为 varchar(17) 的输入参数来处理字母数字的车辆标识符 (VIN)。但是,每当我在执行时输入一个包含数字的参数值时,它都会给我一个错误。它似乎只接受字母字符。我在这里做错了什么?
【问题讨论】:
-
你是如何调用存储过程的——即从查询分析器/SSMS,或从代码——如果是代码,什么类型?另外 - 你得到什么错误?
-
使用 SQL 查询分析器(例如:storedProc
) -
错误 = 服务器:消息 170,级别 15,状态 1,第 1 行第 1 行:“gn”附近的语法不正确。我输入了“1gn”,不带双引号(语句是“like”不等于,所以可以输入一部分vin)。
-
您需要输入它并用单引号分隔。
-
您应该使用参数化查询,但无论如何,当它到达 SQL Server 时,它显然没有被正确引用。存储过程是否构建动态 SQL 字符串?请出示代码。
标签: stored-procedures parameters sql-server-2000