SQL, insert into 后跟 select是什么意思?

时间:2022-03-09 19:33:00

例如如下SQL语句,请问是什么意思? 
declare @tbl_temp table( sales_person_code nvarchar(40) )

insert into @tbl_temp 
select distinct sales_person_code from AS_SALES_PERSON_PRD_STDPRC where sales_person_code<>@sales_person_code

12 个解决方案

#1


就是后冇查询到的数据都insert到要插入的表中

#2


insert into后面加select与后面加values差不多,
唯一的区别是select是将结果集(多行记录)插入到对应的表(表变量)中去
          而values只是单一的一行记录

#3


使用 INSERT...SELECT 插入行
INSERT 语句中的 SELECT 子查询可用于将一个或多个其它的表或视图的值添加到表中。使用 SELECT 子查询可同时插入多行。

下面的 INSERT 语句将 titles 中数据的 type 是 modern cooking 的所有行的数据插入到一个单独的表中:

USE pubs
INSERT INTO MyBooks
   SELECT title_id, title, type
   FROM titles
   WHERE type = 'mod_cook'

子查询的选择列表必须与 INSERT 语句列的列表匹配。如果没有指定列的列表,选择列表必须与正向其插入的表或视图的列匹配。

#4


--定义一个表变量@tbl_temp
declare @tbl_temp table( sales_person_code nvarchar(40) )

--向变量@tbl_temp中插入数据
insert into @tbl_temp 
select distinct sales_person_code from AS_SALES_PERSON_PRD_STDPRC 
where sales_person_code<>@sales_person_code

--跟这个一样
insert into @tbl_temp(sales_person_code)
select distinct sales_person_code from AS_SALES_PERSON_PRD_STDPRC 
where sales_person_code<>@sales_person_code

#5


能不能说得详细些啊?
比如举个用insert .. select插入数据的例子

#6


create table a(aa int,bb char(2))

insert into a  select 1,'we'

#7


把select 的集合写入到insert的表中

#8


恩。
把select 的集合写入到insert的表中

#9


插入查询出来的数据

#10


将原表的内容插入到新表中,如
insert into 新表
form select * from 原表

#11


楼上的这们“将原表的内容插入到新表中,如insert   into   新表 form   select   *   from   原表”是不是这句有错误,怎么多了个 from 

#12


Mark!

#1


就是后冇查询到的数据都insert到要插入的表中

#2


insert into后面加select与后面加values差不多,
唯一的区别是select是将结果集(多行记录)插入到对应的表(表变量)中去
          而values只是单一的一行记录

#3


使用 INSERT...SELECT 插入行
INSERT 语句中的 SELECT 子查询可用于将一个或多个其它的表或视图的值添加到表中。使用 SELECT 子查询可同时插入多行。

下面的 INSERT 语句将 titles 中数据的 type 是 modern cooking 的所有行的数据插入到一个单独的表中:

USE pubs
INSERT INTO MyBooks
   SELECT title_id, title, type
   FROM titles
   WHERE type = 'mod_cook'

子查询的选择列表必须与 INSERT 语句列的列表匹配。如果没有指定列的列表,选择列表必须与正向其插入的表或视图的列匹配。

#4


--定义一个表变量@tbl_temp
declare @tbl_temp table( sales_person_code nvarchar(40) )

--向变量@tbl_temp中插入数据
insert into @tbl_temp 
select distinct sales_person_code from AS_SALES_PERSON_PRD_STDPRC 
where sales_person_code<>@sales_person_code

--跟这个一样
insert into @tbl_temp(sales_person_code)
select distinct sales_person_code from AS_SALES_PERSON_PRD_STDPRC 
where sales_person_code<>@sales_person_code

#5


能不能说得详细些啊?
比如举个用insert .. select插入数据的例子

#6


create table a(aa int,bb char(2))

insert into a  select 1,'we'

#7


把select 的集合写入到insert的表中

#8


恩。
把select 的集合写入到insert的表中

#9


插入查询出来的数据

#10


将原表的内容插入到新表中,如
insert into 新表
form select * from 原表

#11


楼上的这们“将原表的内容插入到新表中,如insert   into   新表 form   select   *   from   原表”是不是这句有错误,怎么多了个 from 

#12


Mark!