> 데이터 베이스 > MySQL 튜토리얼 > mysql通过存储过程简化INSERT和UPDATE_MySQL

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-01 13:00:53
원래의
1100명이 탐색했습니다.

处理目的,当数据表中存在目标记录时,执行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);
로그인 후 복사



관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿