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

Problema al acceder a una variable en un procedimiento almacenado

Estas en el tema de Problema al acceder a una variable en un procedimiento almacenado en el foro de SQL Server en Foros del Web. Buenas tardes, tengo el siguiente problema: Si hago este código con la línea 2) si que me funciona, si lo hago con la 1) no. ...
  #1 (permalink)  
Antiguo 19/06/2009, 05:46
 
Fecha de Ingreso: junio-2009
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 0
Problema al acceder a una variable en un procedimiento almacenado

Buenas tardes,

tengo el siguiente problema:

Si hago este código con la línea 2) si que me funciona, si lo hago con la 1) no. No lo entiendo...

NOTA: pongo 'arroba' porque el foro no me permite ponerla.

declare 'arroba'category_ varchar (2000)

declare 'arroba'tabla varchar (2000)

declare 'arroba'salida varchar (2000)

set 'arroba'tabla = '_A_IC'

1) set 'arroba'category_ = (select distinct ACCOUNTIC from 'arroba'tabla where accountic='301505')

2) set 'arroba'category_ = (select distinct ACCOUNTIC from _A_IC where accountic='301505')


El problema está al acceder al nombre de la tabla desde una variable.

Si alguien supiera la solución al problema....se lo agradecería mucho...


Muchas gracias.


Saludos,
Fernando.
  #2 (permalink)  
Antiguo 19/06/2009, 10:27
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema al acceder a una variable en un procedimiento almacenado

investiga sobre esto

http://msdn.microsoft.com/en-us/libr...9(SQL.80).aspx
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 20/06/2009, 11:19
 
Fecha de Ingreso: junio-2009
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Problema al acceder a una variable en un procedimiento almacenado

Hola,

he mirado lo que me has dicho pero no doy con la solución.

¿Es posible que sea por el tipo de dato de 'arroba'tabla?, que es varchar. ¿Qué tipo de dato necesitaría para hacerlo bien? El tipo table no me serviría, porque tendría que rellenarlo con un SELECT, que igualmente tendría un FROM dónde tendría que ponerle el 'arroba'tabla.

Por otro lado, la función EXEC () ejecuta una consulta. ¿Existe otra función que me devuelva el resultado de la consulta hecha?


Muchas gracias por la respuesta.


Un saludo,
Fernando.
  #4 (permalink)  
Antiguo 20/06/2009, 14:54
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema al acceder a una variable en un procedimiento almacenado

bueno un ejemplo

Código sql:
Ver original
  1. DECLARE @Tabla VARCHAR(50)
  2. DECLARE @Cond INT
  3.  
  4. DECLARE @SQL NVarchar(MAX)
  5.  
  6. SET @SQL = N'Select * From ' + @Tabla + ' Where Columna = ' + CONVERT(VARCHAR,@Cond);
  7.  
  8. EXECUTE SP_ExecuteSQL @SQL
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 21/06/2009, 04:39
 
Fecha de Ingreso: junio-2009
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Problema al acceder a una variable en un procedimiento almacenado

Dradi7 pues muchas gracias, mañana lo probaré en el trabajo a ver si me funciona, ojalá.

Yo había intentado algo así pero en vez de "N" ponía la función "EXEC".

¿Esto lo has probado y seguro que funciona?



Muchas gracias.


Un saludo,
Fernando.
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 12:33.