mysql動態創建臨時表
-- 創建臨時表
set v_sql='create temporary table if not exists temp_visit_status_list( projectid varchar(32),statustype varchar(50),personid int(11),';-- 去除最後逗號
set i = 1;
WHILE i<10 DO
set v_sql=CONCAT(v_sql,'num',i,' varchar(50),');
SET i=i+1;
END WHILE;
set v_pksql=left(v_sql,char_length(v_sql)-1);
set @v_sql=CONCAT(v_pksql,' );');
SELECT @v_sql;
prepare stmt from @v_sql; -- 預處理需要執行的動態SQL,其中stmt是一個變量
EXECUTE stmt; -- 執行SQL語句
deallocate prepare stmt; -- 釋放掉預處理段
set v_sql='create temporary table if not exists temp_visit_status_list( projectid varchar(32),statustype varchar(50),personid int(11),';-- 去除最後逗號
set i = 1;
WHILE i<10 DO
set v_sql=CONCAT(v_sql,'num',i,' varchar(50),');
SET i=i+1;
END WHILE;
set v_pksql=left(v_sql,char_length(v_sql)-1);
set @v_sql=CONCAT(v_pksql,' );');
SELECT @v_sql;
prepare stmt from @v_sql; -- 預處理需要執行的動態SQL,其中stmt是一個變量
EXECUTE stmt; -- 執行SQL語句
deallocate prepare stmt; -- 釋放掉預處理段
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.