程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql通過存儲過程簡化INSERT和UPDATE

mysql通過存儲過程簡化INSERT和UPDATE

編輯:MySQL綜合教程

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);



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved