当我尝试执行此存储过程时,我收到此错误"数据库连接器错误:'来自数据类型的隐式转换' 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谢谢!下面是错误的屏幕截图。
你们需要帮助我的其他任何信息?感谢
答案 0 :(得分:0)
stor_id
表中的stores
字段似乎是int
。更改存储过程以接受int
而不是char(4)
。
CREATE PROCEDURE TestProc2(@store int)
AS
BEGIN
SELECT * FROM stores WHERE stor_id=@store
END