Rumah > pangkalan data > tutorial mysql > mysql通过存储过程简化INSERT和UPDATE_MySQL

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

WBOY
Lepaskan: 2016-06-01 13:00:53
asal
1062 orang telah melayarinya

处理目的,当数据表中存在目标记录时,执行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;
Salin selepas log masuk


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);
Salin selepas log masuk



Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan