Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/07/2014, 09:03
damimg
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 12 años
Puntos: 15
Respuesta: Tabla con nombre de @variable

Cita:
Iniciado por Libras Ver Mensaje
Código SQL:
Ver original
  1. DECLARE @TABLENAME AS VARCHAR(MAX);
  2. DECLARE @query Nvarchar(MAX)
  3. SET @TABLENAME = '[192.168.1.100].[DATA].[dbo].' + 'Documentos_pagados';
  4.  
  5. SET @query='
  6. INSERT INTO '+ @TABLENAME + '
  7. SELECT * FROM [dbo].Documentos_pagados
  8. WHERE doc_registro in (0, null) '
  9.  
  10. EXEC sp_executesql @query

Con algo llamado querys dinamicos solucionas tu problema ;)
No es recomendable agregar la palabra reservada NULL dentro de una expresión IN. Si bien el motor no tira ningún tipo de error, directamente no la tiene en cuenta a la hora de la evaluación.

La forma correcta de evaluar NULO es:

Código SQL:
Ver original
  1. SELECT campo1
  2. FROM tabla
  3. WHERE campo1 IS NULL

Saludos!

damimg
DBA Specialist