sql批量連聯插入

插入的語句

insert into tabl1 from (select * from table2)t

作用爲,把表2的數據查詢出來然後批量進行插入到其它表table1 中 例子

insert into AntaiFlow.dbo.UsersRelation
 --(UserID,Sort,OrganizeID,IsMain) 
 select * from (
	 select 
	 --oldr.UserID,
	 newr.UserID ,newr.Sort,newr.OrganizeID,newr.IsMain from NewAntaiFlow.dbo.UsersRelation newr 
	 left join AntaiFlow.dbo.UsersRelation oldr on newr.UserID = oldr.UserID
	 where oldr.UserID is null
 ) t

但是這樣會出錯

解決辦法: 在插入的時候進行指定表的列 需要和查詢的對應出來進行一一對應。這樣就可以了。

insert into AntaiFlow.dbo.UsersRelation
 (UserID,Sort,OrganizeID,IsMain) 
 select * from (
	 select 
	 --oldr.UserID,
	 newr.UserID ,newr.Sort,newr.OrganizeID,newr.IsMain from NewAntaiFlow.dbo.UsersRelation newr 
	 left join AntaiFlow.dbo.UsersRelation oldr on newr.UserID = oldr.UserID
	 where oldr.UserID is null
 ) t

可以進行添加條件,update 和此一樣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章