一个存储过程的问题。
CREATE PROCEDURE update_shop_pd_info
@pd_lb_self bigint ,
@pdname varchar(50),
@pdjj varchar(50),
@pdtime varchar(50),
@pdprice float,
@pdhyprice float,
@kcqk varchar(200),
@pddj varchar(50),
@pdimg varchar(1500),
@zysx varchar(100),
@pdcontent varchar(7000),
@ispl tinyint,
@proid varchar(50),
@orderby int,
@isstop tinyint,
@slc varchar(5),
@pdtype varchar(3000),
@news tinyint,
@istj tinyint,
@pdarea varchar(100),
@pdtype1 varchar (100),
@dw varchar(10),
@id bigint,
@revinfo varchar(100) output
as
set nocount on
begin
--declare @a varchar(100)
select * from shop_pd_info where pdname=@pdname and proid=@proid and id<>@id
if @@rowcount>0
begin
set @revinfo='出错!商品名称发生重复!'
return 1
end
else
begin
begin transaction
update shop_pd_info set pdname=@pdname ,pd_lb_self=@pd_lb_self,pdjj=@pdjj ,pdtime=@pdtime,pdprice=@pdprice,pdhyprice=@pdhyprice ,pdkc=@kcqk,pddj=@pddj ,pdimg=@pdimg, zysx=@zysx ,pdcontent=@pdcontent ,ispl=@ispl,orderby=@orderby,isstop=@isstop,slc=@slc,pdtype=@pdtype,new=@news,istj=@istj,pdtype1=@pdtype1,pdarea=@pdarea,dw=@dw where proid=@proid and id=@id
if @@error<>0
begin
rollback transaction;
set @revinfo='出错!在更新商品信息过程中发生错误,请检查所填写信息是否合法!';
return 1
end
else
begin
commit transaction
return 0
end
end
end
GO
就这个东西,反正是执行不了,郁闷到我要挂了……
错误提示:
Microsoft OLE DB Provider for SQL Server 错误 '80040e07'
将数据类型 bigint 转换为 tinyint 时出错。
对MSSQL不熟,主要使用了MySQL……唉~