首頁 > 資料庫 > mysql教程 > mysql通过存储过程简化INSERT和UPDATE_MySQL

mysql通过存储过程简化INSERT和UPDATE_MySQL

WBOY
發布: 2016-06-01 13:00:53
原創
1056 人瀏覽過

处理目的,当数据表中存在目标记录时,执行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);
登入後複製



相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板