> 데이터 베이스 > MySQL 튜토리얼 > mysql存储过程中使用变量批量修改数据_MySQL

mysql存储过程中使用变量批量修改数据_MySQL

WBOY
풀어 주다: 2016-06-01 13:42:25
원래의
1507명이 탐색했습니다.

bitsCN.com
mysql存储过程中使用变量批量修改数据 BEGIN declare i int;#查找表的列数 declare column_name_temp varchar(100);##查找表的列名 DECLARE column_un_change varchar(100); DECLARE table_temp_name varchar(100); declare description varchar(100); declare code varchar(100); set column_un_change = 'OTHER_INCOME'; set description='description'; set code = 'code';    set table_temp_name  = 'wy_notebill_detail2';  ######################查找表的列名存储到临时表################### drop table if EXISTS update_column; create temporary table update_column (a INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (a)) TYPE = MyISAM SELECT column_name from information_schema.`COLUMNS` where table_name = table_temp_name and column_name not in(column_un_change,description,code) and data_type not in ('date','datetime'); #######################统计列数量#################### SELECT count(*) into i from update_column; SELECT i;    loop1: WHILE i>2 DO   ##########################给变量赋值列名####################### SELECT column_name into column_name_temp from update_column where a = i; SET i=i-1;   #########################更新表的数据########################## set @sqls=concat('update ',table_temp_name ,' set ',column_name_temp,' = 0'); PREPARE stmt1 from @sqls; EXECUTE stmt1 ; END WHILE loop1;   #SELECT * from wy_notebill_detail; END  作者 刘宗才 bitsCN.com

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