存储过程的基础问题,大家多来帮我看看
ALTER PROCEDURE dbo.transfer
/*
(
@parameter1 int = 5,
@parameter2 datatype OUTPUT
)
*/
AS
/* SET NOCOUNT ON */
UPDATE TranTest SET AccountBalance=AccountBalance-100 WHERE AccountBalance='A'
UPDATE TranTest SET AccountBalance=AccountBalance+100 WHERE AccountBalance='B'
RETURN
问题:当我执行的时候出现下面这个问题,咋解决啊?A是AccountBalance列中的名字,杂还要转换?
运行[dbo].[transfer].
在将 varchar 值 'A' 转换成数据类型 tinyint 时失败。
没有行受影响。
(返回 0 行)
@RETURN_VALUE =
完成 [dbo].[transfer] 运行。
------解决方案--------------------UPDATE TranTest SET AccountBalance=AccountBalance-100 WHERE AccountBalance='A'
UPDATE TranTest SET AccountBalance=AccountBalance+100 WHERE AccountBalance='B'
AccountBalance 是什么类型? INT 还是 VARCHAR??
------解决方案--------------------AccountBalance字段的数据类型是tinyint吧?
"where AccountBalance='A'"有语法问题,等式两边是不同数据类型,数值型跟字符型无法做比较..