mysql 查詢記錄並插入另一張表

2021-10-14 04:06:03 字數 1648 閱讀 3384

從 bd_house 查詢 houseid, housename, 插入 bd_house_customer

drop procedure if exists insert_extra_column_test;

delimiter //

create procedure insert_extra_column_test()

begin

-- 宣告變數

declare newid long;

declare houseid long;

declare housename varchar ( 50 );

declare num integer;

-- 宣告接收結果的游標

declare

house cursor for

-- 查詢記錄

select

id houseid,

name housename

from bd_house

where

id not in ( select house_id from bd_house_customer where customer_id = 1111)

order by id;

-- 開啟游標

open house;

-- 匹配第乙個游標, 給變數賦值

fetch house into houseid, housename;

-- 這是固定遍歷 100 次, 遍歷全部可以用 while ( house is not null ) 判斷

set num = 100;

while ( num > 0 ) do

insert into `bd_house_customer` (

`id`,

`tenant_id`,

`house_id`,

`house`,

`customer_id`,

`customer`,

`change_cause`,

`relation_state`,

`remarks`,

`lease_type`,

`belong_house_name`,

`sign_date`,

`lease_source`,

`asset_use_type`

)values

(houseid,

1111,

houseid,

housename,

1111,

'張三',

'2222',

'currenttenant',

1,'newrent',

housename,

null,

'pc_terminal',

'zzzz'

);set num = num - 1;

-- 匹配下乙個游標並賦值

fetch house into houseid, housename;

-- 結束迴圈, 關閉游標

end while;

close house;

end //

delimiter ;

call insert_extra_column_test();

mysql中實現在一張表中插入另一張

mysql在將一張表中的部分資料插入另一張表中分為兩種情況 1.兩張表中的字段相同 insert into 表一 select from 表2 where 條件 如果不想要某個字段重複的數,插入的sql語句如下 insert into 表一 select from 表二 where 表一的某個字段 ...

將一張表的查詢結果插入到另一張表

select into 和 insert into select 兩種表複製語句 2select into desttbl from srctbl34 insert into desttbl fld1,fld2 select fld1,5 from srctbl56 以上兩句都是將 srctbl 的...

sql 插入一張表的部分字段需要查詢另一張表

insert into 表a 欄位a,欄位b,欄位c select 欄位a 欄位b 欄位c from 表bwhere 條件insert into 表a 欄位a,欄位b,欄位c,欄位d select 欄位a 要插入的值 例 inserttest 不為在表b查詢到的值 用 包起來表示字串,方法,數值不用...