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

Evaluar nulos e insertar datos a nueva tabla

Estas en el tema de Evaluar nulos e insertar datos a nueva tabla en el foro de SQL Server en Foros del Web. Estimados, Que tal, tengo un pequeño incidente, sucede que quiero insertar un registro de una tabla a otra, pero la condicion seria que solo inserte ...
  #1 (permalink)  
Antiguo 10/11/2014, 08:32
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 9 meses
Puntos: 5
Pregunta Evaluar nulos e insertar datos a nueva tabla

Estimados,

Que tal, tengo un pequeño incidente, sucede que quiero insertar un registro de una tabla a otra, pero la condicion seria que solo inserte datos si los campos A y campo B de la tabla origen sean nulos, se que esto se puede realizar con un IF o con un CASE, pero tengo problemas para armar el Query

Podrian indicarme que estoy haciendo mal...?

Código SQL:
Ver original
  1. CREATE PROC CD_EVA_ACRE_EVENTO
  2. @EXPEDIENTE VARCHAR(50)
  3. AS
  4. SELECT IF (
  5. CENTROMANT IS NULL
  6. OR PLANTA IS NULL
  7. )
  8. FROM P_ACREDITACIONES
  9. WHERE EXPEDIENTE = @EXPEDIENTE
  10. BEGIN
  11. INSERT INTO RECHAZADOS
  12. SELECT * FROM P_ACREDITACIONES
  13. WHERE EXPEDIENTE = @EXPEDIENTE
  14. END
__________________
Lo que no se....tampoco creo saberlo....
  #2 (permalink)  
Antiguo 10/11/2014, 08:43
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 10 años, 1 mes
Puntos: 12
Respuesta: Evaluar nulos e insertar datos a nueva tabla

Hola ambichol, sería algo así.

Código SQL:
Ver original
  1. IF campoA IS NULL OR campoB IS NULL
  2. BEGIN
  3.     // Inserto los datos
  4. END
  5. ELSE
  6. BEGIN
  7.     // código que se ejecutará si el campoA o el campoB no son NULL
  8. END

Espero te sea de ayuda.

Saludos.
__________________
http://www.sp-vision.net
  #3 (permalink)  
Antiguo 10/11/2014, 09:46
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Evaluar nulos e insertar datos a nueva tabla

la forma mas sencilla de hacer eso es la siguiente:

Código SQL:
Ver original
  1. INSERT INTO tabla1
  2. SELECT * FROM tabla1 AS t1
  3. LEFT JOIN tabla2 AS t2 ON (t1.id=t2.id)
  4. WHERE t1.campo IS NULL AND t2.campo IS NULL

para que usar cases, if's y demas.......
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 10/11/2014, 10:40
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 9 meses
Puntos: 5
Respuesta: Evaluar nulos e insertar datos a nueva tabla

Que tal, al final lo solucione de la siguiente manera:

Código SQL:
Ver original
  1. CREATE PROC CD_EVA_ACRE_EVENTO
  2. @EXPEDIENTE VARCHAR(50)
  3. AS
  4. IF (SELECT COUNT(*) FROM P_ACREDITACIONES
  5. WHERE CENTROMANT IS NULL
  6. OR PLANTA IS NULL
  7. AND EXPEDIENTE = @EXPEDIENTE
  8. )>=1
  9. BEGIN
  10. INSERT INTO RECHAZADOS
  11. SELECT * FROM P_ACREDITACIONES
  12. WHERE EXPEDIENTE = @EXPEDIENTE
  13. END

Sin embargo me surgio otro problema, en la tabla RECHAZADOS, quiero poner una marca en los campos nulos que presenta la tabla P_ACREDITACIONES, no el valor original, es decir, si el campo CENTROMANT es nulo, en la tabla final se marque con una 'X' solo ese campo...espero dejarme entender....
__________________
Lo que no se....tampoco creo saberlo....
  #5 (permalink)  
Antiguo 10/11/2014, 10:49
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Evaluar nulos e insertar datos a nueva tabla

Código SQL:
Ver original
  1. isnull(campo,'X')
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 10/11/2014, 11:05
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 9 meses
Puntos: 5
Respuesta: Evaluar nulos e insertar datos a nueva tabla

Cita:
Iniciado por Libras Ver Mensaje
Código SQL:
Ver original
  1. isnull(campo,'X')
Libras, Eso se aplicaria si uso el query que mostraste no...o tambien se puede usar para el que realice...?
__________________
Lo que no se....tampoco creo saberlo....
  #7 (permalink)  
Antiguo 10/11/2014, 11:09
 
Fecha de Ingreso: octubre-2014
Ubicación: Buenos Aires
Mensajes: 278
Antigüedad: 10 años, 1 mes
Puntos: 12
Respuesta: Evaluar nulos e insertar datos a nueva tabla

Lo puedes utilizar en ambos casos.

Saludos.
__________________
http://www.sp-vision.net

Etiquetas: evaluar, nulos, query, select, tabla
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 17:58.