【问题标题】:How do I add a column to a temp table inside a stored procedure?如何将列添加到存储过程中的临时表?
【发布时间】:2020-04-24 21:48:29
【问题描述】:

我有一个类似于下面的存储过程:

ALTER Proc   
BEGIN    
    if object()... drop... #temp_table

    select 
        a,
        b,
    INTO #temp_table
    From physical_table    

    if object()... drop... physical_table2

    select *
    into physical_table2
    From #temp_table    
END

我想在存储过程的临时表中添加一个额外的列

喜欢:

ALTER Proc    
BEGIN    
    select 
        a,
        b,
        C <-- NEW COLUMN ADDED
    INTO #temp_table
    From physical_table

    select *
    into physical_table2
    From #temp_table
END

但是,我收到“无效的列名 'C' 错误

现在,这是一个简单的解决方法......我可以先突出显示并运行存储过程的内部语句,然后执行“Alter Proc”语句,但我需要将脚本交给 IT 来执行它。有人告诉我在存储的 proc 脚本之前创建另一个脚本来更改临时表并添加该列...但不确定该怎么做??

【问题讨论】:

    标签: sql sql-server procedure temp


    【解决方案1】:

    这段代码:

    select a, b, C <-- NEW COLUMN ADDED
    INTO #temp_table
    From physical_table
    

    假设C 在物理表中。该错误表明它不是。您可以分配一个常量值:

    select a, b, 0 as C <-- NEW COLUMN ADDED
    INTO #temp_table
    From physical_table;
    

    【讨论】:

    • 需要添加的列在那里
    猜你喜欢
    • 2014-06-11
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-12-22
    • 1970-01-01
    • 2016-06-09
    相关资源
    最近更新 更多