Hei*_*nzi 17 sql t-sql sql-server insert-into
我的测试似乎证实了这一点
INSERT INTO a (x, y) SELECT y, x FROM b
Run Code Online (Sandbox Code Playgroud)
映射b.y
到a.x
,即字段仅按顺序位置匹配,而不是按名称匹配.总是如此,即我可以依赖这种行为吗?不幸的是,文档没有指定这个(或者我没有找到它).
Mat*_*lie 10
是的,你是对的.
INSERT INTO
语句中字段的顺序不需要与表定义匹配.
但是SELECT
将忽略该别名/字段名称,并将值插入到INSERT INTO
语句指定的字段中.
CREATE TABLE test (
a AS INT,
b AS INT,
c AS INT
)
INSERT INTO
test (
b,
c,
a
)
SELECT
1 AS a,
2 AS b,
3 AS c
SELECT * FROM test
a | b | c
---+---+---
3 | 1 | 2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6524 次 |
最近记录: |