使用等于运算符

时间:2018-04-04 13:22:56

标签: sql sql-server

我想知道是否有办法使用相等运算符在Key-Value对中编写INSERT查询。这样它会更直观,更具可读性。我只想知道是否有可能。如果是这样的话呢?

例如,不要这样写:

INSERT INTO MyTable (column1, column2, column3, ..., columnX)
VALUES (value1, value2, value3, ..., valueX);

有没有类似的东西写这种方式?

-- obviously this won't work. But is there something similar that does the job for insert
INSERT INTO MyTable
VALUES (
    column1 = value1,
    column2 = value1,
    column3 = value1,
    .
    .
    columnX = valueX
);

由于

2 个答案:

答案 0 :(得分:2)

提出问题的唯一有效答案是否定的,你不能做那样的插入。

答案 1 :(得分:1)

强烈警告(礼貌 - Jeroen Mostert):

  

要非常非常小心,因为所有列必须按照它们在CREATE TABLE中提供的顺序提供。将完全忽略与SELECT中的列关联的名称。随便读取代码会暗示其他情况,我不建议在生产中这样做。

我原来的回答:

不,没有类似的东西,但是如果你要插入除自动生成的列之外的所有列,你可以使用以下语法相等

INSERT INTO MyTable
SELECT 
    column1 = value1,
    column2 = value1,
    column3 = value1,
    .
    .
    columnX = valueX