处理目的,当数据表中存在目标记录时,执行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);查看更多关于mysql通过存储过程简化INSERT和UPDATE - mysql数据库栏的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did5251