有问题文章留言 看内容决定收费与免费
另外接收数据库质疑 勒索病毒数据恢复等项目。

交换数据报错:违反了 PRIMARY KEY 约束 'PK_T_RM_VIP_CONSUME'

【问】交换数据报错:违反了 PRIMARY KEY 约束 ‘PK_T_RM_VIP_CONSUME’
【适用版本】商云8 【模块】基本档案 【点击数】164
【知识编号】P2015071400010
【问题描述】违反了 PRIMARY KEY 约束 ‘PK_T_RM_VIP_CONSUME’。不能在对象 ‘t_rm_vip_consume’ 中插入重复键。 No changes made to database. INSERT INTO t_rm_vip_consume ( card_id, branch_no, card_type, vip_cons_amount, vip_cur_cons_amount, vip_acc_amount, vip_cur_acc_amount, com_flag, cons_count, balance_amount, vip_minus_total ) VALUES ( ‘;124742?’, ’01’, ‘1’, 28.0000, 28.0000, 158.0000, 158.0000, ‘0’, 1, 0.0000, 0.00 )

【答】 –您好,请备份好数据库后在总、分部分别执行以下语句试试:
use hbposv7 –若是分店此处改为:hbposv7_branch
go
if object_id(N’u_convert’,N’FN’) is not null
drop function u_convert
GO
create function u_convert(
@str nvarchar(4000),
@flag bit
)
returns nvarchar(4000)
AS
begin
declare
@pat nvarchar(8),
@step int,
@i int,
@spc int
if @flag=0
begin
select @pat=N’%[!-~]%’,@step=-65248,
@str=replace(@str,N’ ’,N’ ‘)
end
else
begin
select @pat=N’%[!-~]%’,@step=65248,
@str=replace(@str,N’ ‘,N’ ’)
end
set @i=patindex(@pat collate LATIN1_GENERAL_BIN,@str)
while @i>0
select @str=replace(@str,substring( @str,@i,1), nchar(unicode(substring(@str,@i,1))+@step)),@i=patindex(@pat collate LATIN1_GENERAL_BIN,@str)
return(@str)
end
GO
update t_rm_vip_consume set card_id = dbo.u_convert(card_id,0)
go
update t_rm_vip_info set card_id = dbo.u_convert(card_id,0)

赞(0)
未经允许不得转载:思迅软件知识库 » 交换数据报错:违反了 PRIMARY KEY 约束 'PK_T_RM_VIP_CONSUME'
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址