繁体   English   中英

如何创建存储过程以将数据从查询复制到临时表?

[英]How to create a stored procedure to copy data from a query to a temporary table?

我需要将数据从现有表/查询插入临时表。 下面会产生下面详述的错误。

CREATE TABLE SPTemporary
AS
BEGIN
    SELECT * into #temppT
        FROM SampleTable
END

抛出这个错误:

消息 156,级别 15,状态 1,第 3 行
关键字“开始”附近的语法不正确。

更正您的语法,使用procedure而不是table

create procedure SPTemporay
as
begin
select * into #temppT
from SampleTable
end

但是,如果您只想复制数据,那么只有子查询就足够了:

select st.* into #temppT
from SampleTable st

一种方法是:

select st.*
into SPTemporay
from SampleTable st

一次select只能将数据放入一张表中。 目前尚不清楚您真正想要SPTemporary还是#temppT哪一个。 如果确实需要两个表中的相同数据,则可以重复select

编辑:

如果你想要一个存储过程,你可以这样做:

create procedure SPTemporay
as begin
    select *
    into #temppT
    from SampleTable
end;

这是相当没有意义的,因为当存储过程返回时临时表被丢弃。

我认为语法是错误的,应该是这样的:

create table SPTemporay
as
select * from SampleTable

我希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM