sql中从一个表查数据插入一个新表

sql中从一个表查数据插入一个新表,第1张

SELECT

INTO

语句

SELECT

INTO

语句从一个表中选取数据,然后把数据插入另一个表中。者镇

SELECT

INTO

语句常用于创建表的备份复件或者首局粗用于对记录进行存档。

SQL

SELECT

INTO

语法

您可以把所有的列插入新表:

SELECT

*

INTO

new_table_name

[IN

externaldatabase]

FROM

old_tablename

或者只把腊颤希望的列插入新表:

SELECT

column_name(s)

INTO

new_table_name

[IN

externaldatabase]

FROM

old_tablename

@SQL这个是你生成的sql语句,你在你的sql中增加一个into table,这样能不能满足你的需求呢?

关于select into语句我就辩陪不多说了,哗改给你参考链接,你看看是不是你要的

http://www.w3school.com.cn/sql/sql_select_into.asp

还有就是,你也携芦蠢可以将insert 加到你的@SQL语句的前面直接执行,是不是也行呢?

比如:

现有的@SQL = 'SELECT NAME FROM TABLE UNION ALL SELECT ''ZHANGSNA'' '

你修改成@SQL2 = 'INSERT INTO TABLE2(NAME) ' + @SQL,这样是不是也行?

我们既然写存储过程了,而且目的也只是唯一的,那么我们就可以考虑直接将所有步骤放在存储过程中来处理,没必要再拿出来单独考虑怎么用

另外给你一个方式,你看看用得上用不上

--表

create table test

(

name varchar(50)

)

go

--动态sql添加数据

insert into test

exec('select 1')

go

--存储过程

create proc protest

as

declare @sql nvarchar(100) = ''

declare @s int = 1

while(@s <5)

begin

select @sql += 'select ' + cast(@s as varchar(20)) + ' union all '

set @s += 1

end

select @sql += 'select 999'

exec(@sql)

go

--存储过程添加数据

insert into test

exec protest

表已经纤绝存在;

insert into 表名 (列名1.。。 列名n) select 列毁码姿名1.。。。列名n from 表 where 条件

表不模世存在.

oracle

create table 新表明 as select 列名1.。。。列名n from 表 where 条件

sqlserver

select 列名1.。。。列名n

into 新表名

from 表 where 条件


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11971962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存