回答

收藏

INSERT INTO``SELECT''是否始终按顺序位置匹配字段?

技术问答 技术问答 247 人阅读 | 0 人回复 | 2023-09-14

我的测试似乎证实了; b$ F& M' t+ }/ @% q9 ~+ T
INSERT INTO a (x, y) SELECT y, x FROM b6 m% T6 A" C1 d3 t
映射b.y到a.x,即字段仅按顺序位置匹配,而不按名称匹配。总是这样吗,也就是说,我可以依靠这种行为吗?不幸的是,文档没有对此进行指定(或者我没有找到它)。
! l$ s) T5 m0 K- F: \# t2 ^1 m               
9 p5 e' S  R- Q. f2 @解决方案:
$ N# x/ s! v+ o; j" x               
& f" J$ \+ N4 J( j+ B; v* ?/ E( n3 b& F. j% }
2 t5 V; P' W* C( \" W/ \8 B3 _/ |' U
                没错,SQL Server不会尝试对列名称进行任何映射,因为您可以将任何别名应用于所需的源数据。它将始终参考顺序位置。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则