vanseparis 2015-09-19 08:11 采纳率: 0%
浏览 2239

mysql创建触发器报错,请高手帮忙看下

DROP TABLE if EXISTS tb;
CREATE TABLE tb(BH CHAR(16),content VARCHAR(20),date DATETIME,val INT);

CREATE TRIGGER tri_NewBH BEFORE INSERT ON tb
FOR EACH ROW
BEGIN
DECLARE dt CHAR(8)
DECLARE bh_id CHAR(16)
DECLARE number INT(1)
DECLARE new_bh VARCHAR(16)

     SET dt = DATE_FORMAT(CURDATE(),'%Y%m%d')

     SELECT
         MAX(BH) INTO bh_id
     FROM tb
     WHERE BH LIKE CONCAT(dt,'%')

     IF bh_id = '' OR bh_id IS NULL THEN
         SET new_bh = CONCAT(dt,'00000001')
     ELSE
        SET number = RIGHT(bh_id,8) + 1
        SET new_bh =  RIGHT(CONCAT('00000000',number),8)
        SET new_bh=CONCAT(dt,new_bh)
     END IF

     SET NEW.BH = new_bh
 END
  • 写回答

1条回答 默认 最新

  • Evankaka 博客专家认证 2015-09-19 12:38
    关注

    报错信息也放出来看看??

    评论

报告相同问题?

悬赏问题

  • ¥15 vhdl+MODELSIM
  • ¥20 simulink中怎么使用solve函数?
  • ¥30 dspbuilder中使用signalcompiler时报错Error during compilation: Fitter failed,求解决办法
  • ¥15 gwas 分析-数据质控之过滤稀有突变中出现的问题
  • ¥15 没有注册类 (异常来自 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
  • ¥15 知识蒸馏实战博客问题
  • ¥15 用PLC设计纸袋糊底机送料系统
  • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题