乌哩码嗏 2010-02-11 18:21 采纳率: 0%
浏览 239
已采纳

一条SqlServer2000的触发器语句转换为mysql5.0的触发器语句

以下是一条SqlServer2000的触发器语句,现希望转换成mysql5.0的触发器语句

该语句主要实现在Product表中插入一条记录时,将主键“Product_id”变成“CP001”、“CP002”.....的形式
,只要是能实现这个功能就行了!!!

CREATE trigger Product_id
on dbo.Product
instead OF insert

as
begin
declare @preStr varchar(10)
declare @tempID varchar(16)
declare @preTl varchar(2)
select * into #temptb from inserted
select @preTl=max(Product_id ) from inserted

set @preStr=@preTl
declare @sequNum int
select @tempID=max(Product_id ) from Product where Product_id like @preStr+'%'
if(@tempID is null)
set @sequNum=1
else
set @sequNum=cast(subString(@tempID,3,3) as int)+1
set @tempID=right('000'+cast(@sequNum as varchar),3)
set @tempID=@preStr+@tempID
update #temptb set Product_id =@tempID
insert into Product select * from #temptb

end

静候各位高手回音~!

  • 写回答

2条回答 默认 最新

  • xxxxxxxxxxxxxxxxx 2010-02-12 15:04
    关注

    create trigger update_product_primary_key before insert on Product for each row begin select count(*) into @count from Product; set new.Product_id =concat('CP',lpad(@count + 1,3,'0')); end;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器