使用列名旁边的值编写INSERT语句?

ada*_*101 8 sql t-sql sql-server insert sql-server-2008

在编写包含大量列的INSERT语句时,最好在UPDATE语句中使用列名旁边的值.就像是:

insert into myTable
set
  [col1] = 'xxx',
  [col2] = 'yyy',
  [col3] = 42
  etc...
Run Code Online (Sandbox Code Playgroud)

有没有什么技巧可以模仿这个?

我以为我是这样做的:

insert into myTable
select
  [col1] = 'xxx',
  [col2] = 'yyy',
  [col3] = 42
  etc...
Run Code Online (Sandbox Code Playgroud)

但是这些别名实际上与插入表的列没有关联,如果有人在表中添加了一个新列,它可能会搞砸了.任何人都有任何其他想法如何做到这一点?

Joe*_*lli 10

您最接近的将是指定插入的列(这将保护您免受您对添加的新列的关注)和别名值的选择(这为您提供了一定程度的自我记录代码).

insert into myTable
    ([col1], [col2], [col3])
    select 'xxx' as [col1], 'yyy' as [col2], 42 as [col3]
Run Code Online (Sandbox Code Playgroud)