mysql 複製表游標插入

2021-07-04 08:44:05 字數 4015 閱讀 3930

begin

declare userid varchar(22);

# 公司id

declare cid varchar(22);

# 使用者id

declare cname varchar(64);

# 服務id

declare cdesc text;

# 建立人

declare clogo varchar(255);

# 編輯人

declare ccityid varchar(64);

# 編輯時間

declare caddress varchar(255);

# 建立時間

declare cscale varchar(64);

declare ctype varchar(64);

declare clink varchar(64);

# 公司id

declare rmid varchar(64);

declare rmcode varchar(64);

# 使用者id

declare rmcid varchar(64);

# 服務id

declare recnitname varchar(64);

# 建立人

declare rmccname varchar(64);

# 編輯人

declare rmaddress varchar(255);

# 編輯時間

declare rmserviceid varchar(64);

# 建立時間

declare rmdesc text;

declare rmedu smallint(6);

declare rmexp smallint(6);

declare rmjobtyp smallint(6);

declare b int default 0;

declare r int default 0;

declare createno datetime;

-- 賬號編號

declare unum varchar(32);

# 建立游標

declare rs cursor for select qyid cid,qylink clink,qyname cname,qcityid ccityid,qaddress caddress,qlog clogo,qcale cscale,qtype ctype,qdesc cdesc,created_no createno from

q_company where is_collect is null;

# 這個用於處理游標到達最後一行的情況  

declare continue handler for not found set b=1;

# 開啟游標

open rs; 

# 獲取游標當前指標的記錄,讀取一行資料並傳給變數

fetch  rs into cid,clink,cname,ccityid,caddress,clogo,cscale,ctype,cdesc,createno;

select cid;

# 迴圈游標

while b <> 1 do

start transaction;

select b;

set userid=rand_string(22,5);

select concat('0',count(*)+1) into unum from u_user u where u.account_name like '%@ibmall.cn';

# 插入到使用者服務表裡

insert into `u_company` (`id`, `name`, `description`,`logo`,`city_id`,`address`, `scale`, `type`,`verify_status`, `created_by`, `modified_by`, `created_on`, `modified_on`) values (cid, cname, cdesc, clogo, ccityid, caddress, cscale, ctype,1,null,null,now(),now());

# 插入到使用者服務表裡

insert into `u_user` (`id`, `account_name`, `password`,`salt`,`register_time`,`create_type`,`company_id`, `is_email_verify`,`client_name`,`binding_email`,`created_on`, `modified_on`) values (userid, concat(unum,'@ibmall.cn'), 'f64fb77415ff5686d7e8dee82e8ebbf5', '76903465bac30553', createno, 1, cid, 1,'collect',concat(unum,'@ibmall.cn'),now(), now());

select unum;

update q_company set is_collect = 1 where qyid = cid;

begin

# 建立游標

declare rm cursor for select qr.id rmid,qr.gwcode rmcode,qr.companyid rmcid,qr.recnitname recnitname,qr.cityid rmccname,qr.address rmaddress,qr.serviceid rmserviceid,qr.description rmdesc,qr.education rmedu,qr.experience rmexp,qr.job_type rmjobtyp from q_recnitment qr where qr.companyid = cid and is_collect is null;

declare continue handler for not found set rmcode=1;

# 開啟游標

open rm; 

fetch rm into rmid,rmcode,rmcid,recnitname,rmccname,rmaddress,rmserviceid,rmdesc,rmedu,rmexp,rmjobtyp;

# 迴圈游標

while rmcode <> 1 do

start transaction;

update q_recnitment set is_collect = 1 where id = rmid;

insert into `r_recruitment` (`id`, `code`, `company_id`,`name`,`city_id`,`address`,`service_id`,`description`, `education`,`experience`,`status`,`job_type`, `email`,`release_time`,`created_on`,`modified_on`) values (rmid, rmcode,rmcid, recnitname, rmccname, rmaddress, rmserviceid, rmdesc,rmedu,rmexp,1,rmjobtyp,concat(unum,'@ibmall.cn'),now(),now(),now());

commit;

# 獲取游標當前指標的記錄,讀取一行資料並傳給變數

fetch rm into rmid,rmcode,rmcid,recnitname,rmccname,rmaddress,rmserviceid,rmdesc,rmedu,rmexp,rmjobtyp;

end while;

# 關閉游標  

close rm;

end;

# 讀取下一行的資料  

commit;

fetch  rs into cid,clink,cname,ccityid,caddress,clogo,cscale,ctype,cdesc,createno;

end while;

# 關閉游標  

close rs;

end

mysql複製表資料 MySQL 複製表結構

介紹 有時候我們需要原封不動的複製一張表的表結構來生成一張新錶,mysql提供了兩種便捷的方法。例 create tabletb base idint not null primary key,namevarchar 10 keyix name name engine myisam charset ...

複製表結構 MySQL如何複製表

如果我們需要完全的複製mysql的資料表,包括表的結構,索引,預設值等。如果僅僅使用create table select命令,是無法實現的。例項嘗試以下例項來複製表 w3cschool tbl 步驟一 獲取資料表的完整結構。mysql show create table w3cschool tbl...

mysql is複製表結構 MySQL 複製表結構

介紹 有時候我們需要原封不動的複製一張表的表結構來生成一張新錶,mysql提供了兩種便捷的方法。例 create table tb base id int not null primary key,name varchar 10 key ix name name engine myisam char...