电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

SELECTINTO和INSERTINTOSELECT的区别


发布日期:2020/12/25
 

Insert是Tsql中常用语句Insert INTO table(fieldfield) values(valuevalue)这种形式的在应用程序开发中必不可少但我们在开发测试过程中经常会遇到需要表复制的情况如将一个table的数据的部分字段复制到table或者将整个table复制到table这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了

INSERT INTO SELECT语句

语句形式为Insert into Table(fieldfield) select valuevalue from Table

要求目标表Table必须存在由于目标表Table已经存在所以我们除了插入源表Table的字段外还可以插入常量示例如下

INSERT INTO SELECT语句复制表数据

创建测试表

create TABLE Table

(

a varchar()

b varchar()

c varchar()

CONSTRAINT [PK_Table] PRIMARY KEY CLUSTERED

(

a ASC

)

) ON [PRIMARY]

create TABLE Table

(

a varchar()

c varchar()

d int

CONSTRAINT [PK_Table] PRIMARY KEY CLUSTERED

(

a ASC

)

) ON [PRIMARY]

GO

创建测试数据

Insert into Table values(asds)

Insert into Table values(asds)

Insert into Table values(asds)

Insert into Table values(asdsnull)

GO

select * from Table

INSERT INTO SELECT语句复制表数据

Insert into Table(a c d) select ac from Table

GO

显示更新后的结果

select * from Table

GO

删除测试表

drop TABLE Table

drop TABLE Table

SELECT INTO FROM语句

语句形式为SELECT vale value into Table from Table

要求目标表Table不存在因为在插入时会自动创建表Table并将Table中指定字段数据复制到Table示例如下

SELECT INTO FROM创建表并复制表数据

创建测试表

create TABLE Table

(

a varchar()

b varchar()

c varchar()

CONSTRAINT [PK_Table] PRIMARY KEY CLUSTERED

(

a ASC

)

) ON [PRIMARY]

GO

创建测试数据

Insert into Table values(asds)

Insert into Table values(asds)

Insert into Table values(asds)

Insert into Table values(asdsnull)

GO

SELECT INTO FROM语句创建表Table并复制数据

select ac INTO Table from Table

GO

显示更新后的结果

select * from Table

GO

删除测试表

drop TABLE Table

drop TABLE Table

原帖地址

上一篇:ntoskrnl.exe文件丢失或损坏的问题解决

下一篇:甲骨文亚太地区第二财季总收入同比增长17%