儲存過程建立多張表

2021-07-13 19:36:07 字數 2022 閱讀 8203

delimiter $$create

procedure

`score`.`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='score_stream_';

set sql_text='';

while i<16 do

if i<10

then

set table_name=concat(table_pre,'0',i);

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 varchar(32) not null comment \'主鍵\',

user_id varchar(32) not null comment \'使用者id\',

direction varchar(8) not null comment \'收支方向 收入-in 支出-out\',

operate_score int(11) not null comment \'操作的積分數\',

operator varchar(32) not null comment \'操作人:如果是系統,則為system\',

operate_time datetime not null comment \'操作時間,首次生成積分流水的操作時間,用來排序顯示\',

score_status int(4) not null',

score_rule_id varchar(32) default

null comment \'積分規則id\',

member_level int(4) default null comment \'會員等級1:普通會員,2:vip會員\',

score_type int(4) not null comment \'獲取積分的型別,和score_task表中的score_type乙個含義\',

product_id varchar(32) default null comment \'產品id\',

remark varchar(256) default null comment \'積分流水的備註(用來給內部人看的)\',

gmt_modify datetime not null comment \'表改修時間\',

gmt_create datetime not null comment \'表建立時間\',

primary key (id),

key idx_user_id (user_id),

key idx_direction (direction),

key idx_operate_time (operate_time),

key idx_score_status (score_status)

) engine=innodb default charset=utf8' );

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 ;

date_format(now(),'%y%m%d')

儲存過程 迴圈建立多張表 和 多個資料庫

建立所有資料庫 呼叫 call create databases znke z log 0,128 引數說明 1 要建立的資料庫字首 2 目標資料庫字尾最小數 3 目標資料庫字尾最大數 資料庫總數量 create procedure create databases in db pre varcha...

儲存過程建立表

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...

Oracle 建立表,儲存過程

1.首先建立乙個customer 表 create table customer customerid varchar2 10 primary key,customername varchar2 20 custoemr varchar2 8 custoemrage int 2.插入四行資料 inse...