Welcome 微信登录

首页 / 数据库 / MySQL / MySQL 通过存储过程简化INSERT和UPDATE

MySQL 通过存储过程简化INSERT和UPDATE处理目的,当数据表中存在目标记录时,执行UPDATE;当数据表中不存在目标记录时,执行INSERT;从而减少一次查询数据库的过程存储过程设计如下:CREATE PROCEDURE `pro_SaveData`(IN `sinst` varchar(500),IN `supdt` varchar(500))
BEGIN
 #直接更新记录
    set @v_updsql=supdt; 
    prepare stmt from @v_updsql; 
    EXECUTE stmt;     
   
 #记录不存在,执行INSERT
 IF ROW_COUNT() =0 THEN
   set @v_intsql=sinst;
    prepare stmt from @v_intsql;
    EXECUTE stmt;     
 END IF;
deallocate prepare stmt;   
END;C#调用如下:int r = data.ExecuteNonQuery(System.Data.CommandType.StoredProcedure,
                @"CALL pro_SaveData (" INSERT INTO `table` VALUES ("1", "username")",
                "UPDATE table SET name="table222" WHERE id="1";")", null);本文永久更新链接地址