冰
冰锋
Unregistered / Unconfirmed
GUEST, unregistred user!
这个存储过程是用来接收参数 ,插入表中的
IF EXISTS(select * from sysobjects where name='usp_insert_gx' and type='p')
DROP PROCEDURE usp_insert_gx
GO
CREATE PROCEDURE usp_insert_gx
@m_table varchar(100),@bh nvarchar(5),@ph nvarchar (7),@sh nvarchar (8),@pc numeric (18,3),
@sx nvarchar(10),@dh nvarchar (7),@rq datetime ,@zc nvarchar (5),@sr nvarchar (5),@bc char (4)
AS
DECLARE @sqlstr nvarchar(3000)
SET @sqlstr='INSERT INTO'+' '+@m_table+' '+'(F_CPBH,F_CPPH,F_CPSH,F_CPPC,F_CPSX,F_DJBH,F_ZDRQ,F_ZCGX,F_SRGX,F_GZBC)'+' '
+'values('+@bh+','+@ph+','+@sh+','+@pc+','+@sx+','+@dh+','+@rq+','+@zc+','+@sr+','+@bc+')'
EXEC(@sqlstr)
GO
然后传入参数:
EXECUTE usp_insert_gx 'RB200601','1','1','1',200,'1','1','2006-09-13','28','28','1'
执行的时候出现这样的问题 不知道是怎么回事 帮我看看
服务器: 消息 8115,级别 16,状态 6,过程 usp_insert_gx,行 8
将 nvarchar 转换为数据类型 numeric 时发生算术溢出错误。
IF EXISTS(select * from sysobjects where name='usp_insert_gx' and type='p')
DROP PROCEDURE usp_insert_gx
GO
CREATE PROCEDURE usp_insert_gx
@m_table varchar(100),@bh nvarchar(5),@ph nvarchar (7),@sh nvarchar (8),@pc numeric (18,3),
@sx nvarchar(10),@dh nvarchar (7),@rq datetime ,@zc nvarchar (5),@sr nvarchar (5),@bc char (4)
AS
DECLARE @sqlstr nvarchar(3000)
SET @sqlstr='INSERT INTO'+' '+@m_table+' '+'(F_CPBH,F_CPPH,F_CPSH,F_CPPC,F_CPSX,F_DJBH,F_ZDRQ,F_ZCGX,F_SRGX,F_GZBC)'+' '
+'values('+@bh+','+@ph+','+@sh+','+@pc+','+@sx+','+@dh+','+@rq+','+@zc+','+@sr+','+@bc+')'
EXEC(@sqlstr)
GO
然后传入参数:
EXECUTE usp_insert_gx 'RB200601','1','1','1',200,'1','1','2006-09-13','28','28','1'
执行的时候出现这样的问题 不知道是怎么回事 帮我看看
服务器: 消息 8115,级别 16,状态 6,过程 usp_insert_gx,行 8
将 nvarchar 转换为数据类型 numeric 时发生算术溢出错误。