select into插入數據時,像同一個表中同時插入多條記錄

table 數據庫表
此數據庫表中,Name,與Nickname一致

Name Age Sex Nickname Work
小紅 20 小紅 教師
小明 28 小明 警察
小亮 30 小亮 律師

需求:向表中再爲小紅插入一條職業信息。其中,Name,Age,Sex,Nickname字段均與原數據一致,只有Work不同。如過想要插入數據變動不大時,可以使用此語句,sql語句如下:

Insert into table(Name,Age,Sex,Nickname,Work)  
select top 1 b.Name, b.Age, b.Sex, b.Name AS Nickname,'客服'
from table b  where b.Name='小紅';

結果:

Name Age Sex Nickname Work
小紅 20 小紅 教師
小明 28 小明 警察
小亮 30 小亮 律師
小紅 20 小紅 客服

若想同時爲一個人插入兩條職業信息,sql語句如下:

Insert into table(Name,Age,Sex,Nickname,Work)  
select top 1 b.Name, b.Age, b.Sex, b.Name AS Nickname,'客服' from table b  where b.Name='小紅'
UNION
select top 1 b.Name, b.Age, b.Sex, b.Name AS Nickname,'司機' from table b  where b.Name='小紅'

**注意:
1、select語句中一定要限制查詢到的記錄數爲1,否則插入會報錯。
2、要求目標表Table必須存在,由於目標表Table已經存在,所以我們除了插入源表Table b的字段外,還可以插入常量。(兩個表可以是同一個)
**

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