Sybase SQL QUERY - 执行存储过程时出错

时间:2014-05-15 03:00:30

标签: sql sql-server sybase

当我尝试执行此存储过程时,我收到此错误"数据库连接器错误:'来自数据类型的隐式转换' CHAR'到' INT'不被允许。使用CONVERT函数运行此查询"怎么会?我怎样才能解决这个问题?感谢

这是我用来执行SP的查询:

CREATE PROCEDURE TestProc2(@store char(4))
AS
BEGIN
SELECT * FROM stores WHERE stor_id=@store
END

exec TestProc2 @store = "7066"

sp_help stores

stor_id,     char,       4
stor_name,   varchar,    40
stor_address,varchar,    40
city,        varchar,    20
state,       char,       2
country,     varchar,    12
postalcode,  char,       10
payterms,    varchar,    12

该列设置为char(4),因此我认为与查询和数据类型不匹配

顺便说一下,我试过(#34; 7066")用单引号,双引号和无引号,我仍然得到相同的sql错误。请帮忙

PS我正在使用sybase谢谢!下面是错误的屏幕截图。

你们需要帮助我的其他任何信息?感谢

http://tinypic.com/r/2n24huq/8

1 个答案:

答案 0 :(得分:0)

stor_id表中的stores字段似乎是int。更改存储过程以接受int而不是char(4)

CREATE PROCEDURE TestProc2(@store int)
AS
BEGIN
SELECT * FROM stores WHERE stor_id=@store
END