相关疑难解决方法(0)

结合INSERT INTO和WITH/CTE

我有一个非常复杂的CTE,我想将结果插入物理表.

以下是否有效?

INSERT INTO dbo.prf_BatchItemAdditionalAPartyNos 
(
    BatchID,
    AccountNo,
    APartyNo,
    SourceRowID
)       
WITH tab (
  -- some query
)    
SELECT * FROM tab
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用一个函数来创建这个CTE,这将允许我重用.有什么想法吗?

t-sql insert common-table-expression

148
推荐指数
3
解决办法
18万
查看次数

在Sql Server 2008中截断/清除表变量

是否可以在sql server 2008中截断或清除表变量?

Declare @tableVariable table
(
   id int, 
   value varchar(20)
)


while @start<=@stop

  begin

    insert into @tableVariable(id,value) 
    select id
         , value 
      from xTable 
     where id=@start

   --Use @tableVariable 

   --@tableVariable should be flushed out of 
   -- old values before inserting new  values

    set @start = @start + 1 
  end 
Run Code Online (Sandbox Code Playgroud)

sql sql-server

61
推荐指数
4
解决办法
8万
查看次数

如何将查询的CTE输出保存到临时表或表变量中

我有一个CTE查询这个

;With CTE_Table as (SELECT ...)
Select * from CTE_Table
Run Code Online (Sandbox Code Playgroud)

现在我尝试将此结果保存到table variabletemporary table.如果我试试

Declare @Table table
(...)
INSERT INTO @Table (...)
HER I PUT THE CODE ABOVE
Run Code Online (Sandbox Code Playgroud)

我得到一个incorrect syntax error周围的WITH声明.我猜这个Insert Into命令期望Select statement代替a 而不是;WITH同样的代价Create Table.我一直在寻找解决方案,但我找到的所有解决方案都没有涉及Select Statement;With.如何将上面显示的输出变为temporary tabletable variable

我使用SQL Server 2014.

sql t-sql common-table-expression table-variable sql-server-2014

4
推荐指数
1
解决办法
7371
查看次数