数据库错吴 有谁知道 解释一下

来源:百度知道 编辑:UC知道 时间:2024/09/23 05:11:32
CREATE PROCEDURE [insert_caidan_1]
(@caihao_1 [int],
@caiming_2 [char](10),
@jiage_3 [money],
@tedian_4 [text],
@zuofa_5 [text],
@candi_6 [char](10),
@weidao_7 [char](10),
@beizhu_8 [text])

AS INSERT INTO [diancai].[dbo].[caidan]
( [caihao],
[caiming],
[jiage],
[tedian],
[zuofa],
[candi],
[weidao],
[beizhu])

VALUES
( @caihao_1,
@caiming_2,
@jiage_3,
@tedian_4,
@zuofa_5,
@candi_6,
@weidao_7,
@beizhu_8)
GO

use diancai
exec insert_caidan_1 '12' ,'黄瓜','3','空间撒娇的开发','跨世纪地方','我家','苦','凯撒奖扶搜科技时代奋'
go

服务器: 消息 257,级别 16,状态 2,过程 insert_caidan_1,行 0
不允许从数据类型 varchar 到 money 的隐性转换。请使用 CONVERT 函数来运行此查询。

我们写Money类型的时候应该是:
insert into YouTable (Column) values (234)
而不能写成这样:
insert into YouTable (Column) values ('234')
所以你上面应该改成

use diancai
exec insert_caidan_1 '12' ,'黄瓜',3,'空间撒娇的开发','跨世纪地方','我家','苦','凯撒奖扶搜科技时代奋'
go
把'3'换成3

数据类型转换错误,varchar 到 money 可能是@jiage_3 [money],
这个传过来的不对