SQL Server 2008中SQL增强功能点

时间:2023-01-21 00:56:22

在SQL Server 2008中新增功能,可以使用单个insert命令插入多行

举例:

CREATE TABLE [dbo].[test2](
[编号] [int] NULL,
[姓名] [varchar](20) NULL,
[一季度] [int] NULL,
[二季度] [int] NULL,
[三季度] [int] NULL,
[四季度] [int] NULL
)
insert into test2
(编号,姓名,一季度,二季度,三季度,四季度)
values
(1,'a1',1,1,1,1),
(2,'a2',2,2,2,2),
(2,'a3',3,3,3,3)

另一个更巧妙的用法,不适用永久表或临时表而表示一个结果集,而且不需要函数或表变量。

select 编号,姓名,一季度,二季度,三季度,四季度
from
(
values
(1, 'a1', 1, 1, 1, 1),
(6, 'a2', 2, 2, 2, 2),
(2, 'a3', 3, 3, 3, 3)
)
test2(编号,姓名,一季度,二季度,三季度,四季度)

晒下结果:

SQL Server 2008中SQL增强功能点

简单点说就是相当于values可以取代临时表的作用

注意该语句的最后一行定义了”源“名称和列名,其中列名用于select语句。