mysql 儲存過程建立多個表

2021-06-28 23:32:15 字數 1048 閱讀 5831

要建立64個表,聽到這一需求,必然要用儲存過程。直接上**:

delimiter $$

use `table`$$

drop procedure if exists `p`$$

create definer=`root`@`localhost` procedure `p`()

begin

declare i int;

declare table_name varchar(20);

declare table_pre varchar(20);

declare sql_text varchar(2000);

set i=1;

set table_name='';

set table_pre='lp_search_keywords_';

set sql_text='';

while i<65 do

if i<10 then set @table_name=concat(table_pre,'0',i);

else set @table_name=concat(table_pre,i);

end if;

set sql_text=concat('create table ',@table_name,'(id int)');

-- select sql_text;

set @sql_text=sql_text;

prepare stmt from @sql_text;

execute stmt;

deallocate prepare stmt;

set i=i+1;

end while;

end$$

delimiter ;

如**所示,要注意幾個點:

1.在sql_text和table_name前加@,不然會找不到值,加上@後引數可以再過程外呼叫。

2.10一下的加0,不然1,10,mysql會判斷為重複。

3.execute後面的語句是preare之後的statement

儲存過程建立表

create or replace procedure test1 tname varchar2 is v createsql varchar2 400 v dropsql varchar2 100 v count number 9 begin v createsql create table tn...

MYSQL批量建立表的儲存過程

因為業務需要,建立了100個表,但是這些表的結構都是一樣的,作為程式設計師,就是要解決這種重複勞動。然而這種事情還要單獨寫個php指令碼的話太麻煩了吧,所以就乾脆學了一下直接用mysql儲存過程怎麼實現 首先是建立表的 lpad i 2,0 的作用 是將1,2,3這些數字轉化為 01 02 03 d...

MySQL建立儲存過程

在開發過程中,經常會遇到重複使用某乙個功能的情況,為此,mysql引入了儲存過程 儲存過程 就是一條或多條sql語句的集合,當對資料庫進行一系列複雜操作時,儲存過程可以將這些複雜操縱,封裝成乙個 塊,以便重複使用,大大減少資料庫開發人員的工作量 使用create procedure語句 create...