Sybase SQL查询-执行存储过程时出错
当我尝试执行此存储过程时,我收到以下错误:“数据库连接器错误:'不允许从数据类型'CHAR'隐式转换为'INT'。请使用CONVERT函数运行此查询“为什么?”?我怎样才能解决这个问题?谢谢 这是im用于执行SP的查询:Sybase SQL查询-执行存储过程时出错,sql,sql-server,sybase,Sql,Sql Server,Sybase,当我尝试执行此存储过程时,我收到以下错误:“数据库连接器错误:'不允许从数据类型'CHAR'隐式转换为'INT'。请使用CONVERT函数运行此查询“为什么?”?我怎样才能解决这个问题?谢谢 这是im用于执行SP的查询: CREATE PROCEDURE TestProc2(@store char(4)) AS BEGIN SELECT * FROM stores WHERE stor_id=@store END exec TestProc2 @store = "7066" 该列被设置为c
CREATE PROCEDURE TestProc2(@store char(4))
AS
BEGIN
SELECT * FROM stores WHERE stor_id=@store
END
exec TestProc2 @store = "7066"
该列被设置为char(4),因此我不认为查询和数据类型不匹配 顺便说一句,我试过使用单引号(“7066”),使用双引号和不使用引号,但仍然得到相同的sql错误。请帮忙 PS我正在使用sybase谢谢!下面是错误的屏幕截图 你们还需要其他信息来帮助我吗?谢谢
看起来
存储
表中的存储id
字段是一个int
。将存储过程更改为接受int
而不是char(4)
编辑您的问题并包含失败的查询。只是一种预感。。试着用单引号代替双引号我试着用单引号,用双引号和不带引号,我仍然得到同样的sql错误。这就是问题所在,它在列中设置为char(4),所有内容都匹配,我不知道为什么error@user3558483--能否运行
sp\u帮助存储
并发布?希望查看您的表定义。
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
CREATE PROCEDURE TestProc2(@store int)
AS
BEGIN
SELECT * FROM stores WHERE stor_id=@store
END