Как добавить столбец во временную таблицу внутри хранимой процедуры? - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть хранимая процедура, подобная приведенной ниже:

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

Я хочу добавить дополнительный столбец во временную таблицу в хранимой процедуре

LIKE:

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 Pro c», НО мне нужно дать сценарий ИТ для его выполнения. Мне было приказано создать еще один сценарий перед сохраненным сценарием pro c, чтобы изменить временную таблицу и добавить этот столбец ... но не знаете, как это сделать ??

1 Ответ

0 голосов
/ 25 апреля 2020

Этот код:

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;
...