problema con variable tipo table

26/05/2006 - 16:36 por reo | Informe spam
si tengo :

create procedure Mi_Procedimiento
@mi_tablat varchar(20)

as BEGIN

declare @mi_tabla TABLE(ndocumento varchar(20))

set @strselect='into @mi_tabla
select ndocumento from ' + @mi_tablat
exec(@strselect)

:
: otros procesos
:

END


y hago la llamada:

declare @nom_tabla varchar(20)

set @strselect='create table ' + @nom_tabla + '(ndocumento varchar(20))'
exec(@strselect)

exec('insert into ' + @nom_tabla + ')

exec Mi_Procedimiento(@nom_tabla)

el sistemas me dice que no puede ser, que @mi_tabla no puede estar dentro de
una cadena

¿como lo puedo solucionar?

muchas gracias
 

Leer las respuestas

#1 Isaias
26/05/2006 - 17:47 | Informe spam
create procedure Mi_Procedimiento
@mi_tablat varchar(20)

as BEGIN

declare @strselect varchar(1000)

set @strselect='declare @mi_tabla TABLE(ndocumento varchar(20)) into @mi_tabla
select ndocumento from ' + @mi_tablat
exec(@strselect)

Saludos
IIslas


"reo" escribió:

si tengo :

create procedure Mi_Procedimiento
@mi_tablat varchar(20)

as BEGIN

declare @mi_tabla TABLE(ndocumento varchar(20))

set @strselect='into @mi_tabla
select ndocumento from ' + @mi_tablat
exec(@strselect)

:
: otros procesos
:

END


y hago la llamada:

declare @nom_tabla varchar(20)

set @strselect='create table ' + @nom_tabla + '(ndocumento varchar(20))'
exec(@strselect)

exec('insert into ' + @nom_tabla + ')

exec Mi_Procedimiento(@nom_tabla)

el sistemas me dice que no puede ser, que @mi_tabla no puede estar dentro de
una cadena

¿como lo puedo solucionar?

muchas gracias



Preguntas similares