use packaging
go
if exists(select name from sysobjects where name='Packag_AddNew' and type='TR')
DROP TRIGGER Packag_AddNew
go
create trigger Packag_AddNew
on dbo.tb_Packag
for insert
as
declare @strSQL varchar(3000)
declare @a varchar(1000)
declare @billno varchar(50)
declare @serno smallint
declare @prodid varchar(50)
declare @prodname varchar(200)
declare @quantity money
declare @packqt money
select @a=dn from inserted
select @packqt=0
if not exists(select billno from tb_dn where billno=@a)
begin
select @billno=CONVERT(varchar(50),billno),@serno=CONVERT(smallint,serno),@prodid=prodid,@prodname=prodname,@quantity=quantity from chicomp01.dbo.comprodrec where flag=500 and billno=@a
select @strSQL='insert tb_dn (billno,serno,prodid,prodname,quantity,packqt) values ('+@billno+','+@serno+','+@prodid+','+@prodname+','+@quantity+','+@packqt+')'
exec(@strSQL)
end 错误提示:
服务器: 消息 257,级别 16,状态 3,过程 Packag_AddNew,行 18
不允许从数据类型 varchar 到 money 的隐性转换。请使用 CONVERT 函数来运行此查询。
服务器: 消息 257,级别 16,状态 1,过程 Packag_AddNew,行 18
不允许从数据类型 varchar 到 money 的隐性转换。请使用 CONVERT 函数来运行此查询。
服务器: 消息 257,级别 16,状态 1,过程 Packag_AddNew,行 18
不允许从数据类型 money 到 varchar 的隐性转换。请使用 CONVERT 函数来运行此查询。请问高手,怎样解决
go
if exists(select name from sysobjects where name='Packag_AddNew' and type='TR')
DROP TRIGGER Packag_AddNew
go
create trigger Packag_AddNew
on dbo.tb_Packag
for insert
as
declare @strSQL varchar(3000)
declare @a varchar(1000)
declare @billno varchar(50)
declare @serno smallint
declare @prodid varchar(50)
declare @prodname varchar(200)
declare @quantity money
declare @packqt money
select @a=dn from inserted
select @packqt=0
if not exists(select billno from tb_dn where billno=@a)
begin
select @billno=CONVERT(varchar(50),billno),@serno=CONVERT(smallint,serno),@prodid=prodid,@prodname=prodname,@quantity=quantity from chicomp01.dbo.comprodrec where flag=500 and billno=@a
select @strSQL='insert tb_dn (billno,serno,prodid,prodname,quantity,packqt) values ('+@billno+','+@serno+','+@prodid+','+@prodname+','+@quantity+','+@packqt+')'
exec(@strSQL)
end 错误提示:
服务器: 消息 257,级别 16,状态 3,过程 Packag_AddNew,行 18
不允许从数据类型 varchar 到 money 的隐性转换。请使用 CONVERT 函数来运行此查询。
服务器: 消息 257,级别 16,状态 1,过程 Packag_AddNew,行 18
不允许从数据类型 varchar 到 money 的隐性转换。请使用 CONVERT 函数来运行此查询。
服务器: 消息 257,级别 16,状态 1,过程 Packag_AddNew,行 18
不允许从数据类型 money 到 varchar 的隐性转换。请使用 CONVERT 函数来运行此查询。请问高手,怎样解决
转换一下就好了
select @billno=CONVERT(varchar(50),billno),@serno=CONVERT(smallint,serno),@prodid=prodid,@prodname=prodname,@quantity=quantity from chicomp01.dbo.comprodrec where flag=500 and billno=@a
select @strSQL='insert tb_dn (billno,serno,prodid,prodname,quantity,packqt) values ('+@billno+','+@serno+','+@prodid+','+@prodname+','+rtrim(@quantity)+','+rtrim(@packqt)+')'
exec(@strSQL)
end