之前接觸到的都是單錶的批量插入,這沒什麼問題,但現在是多個表的乙個批量插入。
例如表a、表b,其中表b關聯表a,現在的要求是插入資料到表a、表b中,因為存在外來鍵的關聯,所以必須表a先有主鍵,才能插入外來鍵到表b,這就存在乙個尋找剛插入的表a的主鍵問題,你們覺得有什麼方法可以解決呢?
這裡的做法是:
在表a中設定乙個字段:rownum,記錄當前插入資料的數目,先插入表a,因為當前rownum可以知道,然後根據rownum去表a中查詢主鍵id,再插入表b中
sql示例:
create procedure batch_insert()
begin
declare s int default 0;
declare coursor cursor_name for
select @rownum:=@rownum+1 as rownum, * from 要查詢資料插入到表a中的資料表;
declare continue handler sqlstate '02000' set s = 1;
open cursor_name;
fetch cursor_name into col_rownum, ...;
while s <> 1 do
insert into 表a(rownum,...)
value(col_row_num,....)
select id into col_a_id from a where rownum=col_rownum;
insert into b(a_id,...)
value(col_a_id,....)
fetch cursor_name into col_rownum, ...;
end while;
end;
表資料的批量插入
當乙個表要插入資料庫時,手動編寫sql插入語句是不太現實的,效率也比較低。我用的是sqlbulkcopy view code public void executetransactionscopeinsertex datatable dt,string tablename sbc.writetose...
關聯表插入資料問題
最近在整一關聯表插入資料問題 老崩潰了 不過在大家的幫助下 還是搞定了 大家可以看看 insert into table name projectname,managerid,userid,businessname select dasdasdasad select max userid from ...
SOLR對多個(關聯)表建立索引
首先在資料庫建立一張表,本來有乙個tuser表了,我又建立了乙個role表,就兩三個字段,沒什麼特殊的,然後在裡面隨便新增幾條資料即可,看一下資料庫 資料庫建立完成之後就是修改data config.xml檔案了,因為資料庫跟solr之間的關聯主要就是建立在這個檔案上面的,所以接下來就是修改該檔案了...