El problema es el siguiente estoy creando columnas en una tabla temporal
mediante la clausula:
alter table #tab_1 add col_1
y posteriormente ingreso valores a la columna, lo cual se ejecuta
correctamente, pero posteriormente en el mismo procedimiento almacenado
deseo llamar la columna directamente con el siguiente select:
select col_1 from #tab_1
y me reporta el siguiente error:
Servidor: mensaje 207, nivel 16, estado 3, procedimiento ProcPrueba,
línea 10
El nombre de columna 'col_1' no es válido.
pero cuando lo llamo mediante el select * from #tab_1 si me aparecen todas
las columnas de la tabla incluyendo col_1 correctamente.
El problema es que necesito asignar el valor de la columna en una variable y
la clausula select que utilizo para ello no la acepta el SQL con el error
descrito anteriormente.
Para mejor ilustración de mi caso pueden correr el siguiente código:
create procedure _prueba
as
select 'dato1', '1'
go
create table #AA (col_1 varchar(10))
alter table #AA add [col_2] varchar(10) null
insert into #AA execute _prueba
/*
Si se ejecuta la siguiente clausula select si funciona:
select * from #AA
*/
select col_2 from #AA
go
drop table #AA
drop procedure _prueba
go
Leer las respuestas