Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] variable en nombre de tabla

Estas en el tema de variable en nombre de tabla en el foro de SQL Server en Foros del Web. el siguiente procedimiento me manda error Código: --EXEC SP_CONS_CON_VALIDA_NOMINACION 'ADMIN', '' ALTER PROCEDURE [dbo].[SP_CONS_CON_VALIDA_NOMINACION] @strTabla varchar(100), @strNivelAcceso varchar(100) AS BEGIN select * from @strTabla END ...
  #1 (permalink)  
Antiguo 16/06/2014, 10:13
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 18 años, 3 meses
Puntos: 8
variable en nombre de tabla

el siguiente procedimiento me manda error

Código:
--EXEC SP_CONS_CON_VALIDA_NOMINACION 'ADMIN', ''
ALTER PROCEDURE [dbo].[SP_CONS_CON_VALIDA_NOMINACION]
	@strTabla varchar(100),
	@strNivelAcceso varchar(100)
AS
BEGIN


select * from @strTabla
	
END

Mens 1087, Nivel 16, Estado 1, Procedimiento SP_CONS_CON_VALIDA_NOMINACION, Línea 9
Debe declarar la variable de tabla "@strTabla".
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #2 (permalink)  
Antiguo 16/06/2014, 10:53
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: variable en nombre de tabla

una variable no la puedes ver asi, tendria que ser algo como esto:

Código SQL:
Ver original
  1. CREATE PROCEDURE [dbo].[SP_CONS_CON_VALIDA_NOMINACION]
  2.     @strTabla VARCHAR(100),
  3.     @strNivelAcceso VARCHAR(100)
  4. AS
  5. BEGIN
  6. SELECT @strTabla
  7.    
  8. END

si necesitas que te haga un select a la tabla que mandas entonces tienes que hacer un querydinamico ;)

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 16/06/2014, 11:37
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: variable en nombre de tabla

Lo que tu quieres, es ejecutar un query DINAMINCO y para eso deberías hacer

Código SQL:
Ver original
  1. DECLARE @SQLString nvarchar(100)
  2.  
  3. SET @SQLString = 'SELECT * FROM ' +  @strTabla
  4. EXEC sp_executesql @SQLString
__________________
MCTS Isaias Islas

Última edición por gnzsoloyo; 16/06/2014 a las 12:35
  #4 (permalink)  
Antiguo 17/06/2014, 12:19
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 18 años, 3 meses
Puntos: 8
Respuesta: variable en nombre de tabla

Gracias IISLAS
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:

Etiquetas: nombre, select, siguiente, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:20.