今天寫乙個資料遷移的儲存過程,用到了動態表名,發現mysql不支援直接使用變數做表名。然後就用下面的方式來做了。
drop procedure if exists p_transfer_data;
delimiter //
create procedure p_transfer_data()
begin
declare v_dbname varchar(100) default database();
declare v_tabname varchar(100);
declare flag int default 0; /*是否達到記錄的末尾控制變數*/
declare v_cur cursor for select table_name from information_schema.tables where table_schema=v_dbname and table_name like 't_2%' order by table_name desc;
declare continue handler for not found set flag = 1;
open v_cur;
fetch v_cur into v_tabname;/*獲取第一條記錄*/
while flag <> 1 do
set @preparable_stmt1=concat("insert into t_x(id_,name) select id_,name ",v_tabname);
set @preparable_stmt2=concat("insert into t_y(id_,area) select id_,area from ",v_tabname);
prepare preparable_stmt1 from @preparable_stmt1;
prepare preparable_stmt2 from @preparable_stmt2;
execute preparable_stmt1;
execute preparable_stmt2;
fetch v_cur into v_tabname;/*取下一條記錄*/
end while;
close v_cur;
end;
//delimiter ;
-- call p_transfer_data();
mysql不支援 MySQL不支援的特性
mysql 1 不支援物化檢視。2 不支援位圖索引。3 不支援並行查詢。4 不支援雜湊關聯,mysql的所有關聯都是巢狀迴圈關聯。不過,可以通過建立乙個雜湊索引來曲線實現。5 不允許對同一表同時進行查詢和更新。報錯 update tb1 as outer tb1 set cnt select cou...
jquery validate不支援動態生成的表單
jquery validate 外掛程式為表單提供了強大的驗證功能,讓客戶端表單驗證變得更簡單,同時提供了大量的定製選項,滿足應用程式各種需求。該外掛程式 了一套有用的驗證方法,包括 url 和電子郵件驗證,同時提供了乙個用來編寫使用者自定義方法的 api。基本用法如下 一 匯入 js 庫 scri...
mysql不支援top 支援limit
今天偶爾發現mysql居然不支援top語句,之前用hibernate記得用過top語句。原因是 mysql的確是不支援top語句,之前用的是hql語句,是hibernate幫你翻譯成mysql支援的語句的。通常hibernate的用法 select top 5 id,name,password fr...