读书人

存储过程的基础有关问题大家多来帮小

发布时间: 2013-06-25 23:45:41 作者: rapoo

存储过程的基础问题,大家多来帮我看看
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'"有语法问题,等式两边是不同数据类型,数值型跟字符型无法做比较..

读书人网 >SQL Server

热点推荐