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 条件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)