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

Borrar cuando la fecha no este vacia desde un SP

Estas en el tema de Borrar cuando la fecha no este vacia desde un SP en el foro de SQL Server en Foros del Web. Hola mi gente!!! Estoy manejando un SP para insertar y borrar de una tabla a otra. Esta son mis sentencias, la de insertar va perfecto ...
  #1 (permalink)  
Antiguo 03/11/2006, 13:43
Avatar de Fabuazul  
Fecha de Ingreso: febrero-2006
Ubicación: Entre cuatro paredes
Mensajes: 693
Antigüedad: 18 años, 3 meses
Puntos: 7
Borrar cuando la fecha no este vacia desde un SP

Hola mi gente!!!

Estoy manejando un SP para insertar y borrar de una tabla a otra.

Esta son mis sentencias, la de insertar va perfecto pero la de borrar me marca error:

Cita:
DELETE FROM EMPLEADOS
WHERE not F_BAJA="" not in (SELECT F_BAJA FROM nomina.dbo.AN_EMP)
Cuando esta lleno el campo F_BAJA quiere decir que el empleado fue despedido o que renuncio. Si ya no laborarn en la mepresa no me interesa tererlos en mi tabla.

Pero me tira este error:

Cita:
Cannot use empty object or column names. Use a single space if necessary.
Tengo dudas si debo o puedo usar la sentencia "like".

Muchas gracias!!!!
__________________
Sí tienes alguna duda.... puedo ayudar a ampliarla.:-D
  #2 (permalink)  
Antiguo 03/11/2006, 18:21
Avatar de jose rayado  
Fecha de Ingreso: mayo-2005
Ubicación: Monterrey
Mensajes: 35
Antigüedad: 19 años
Puntos: 0
Quizas sea por las comillas dobles, prueba con esto:

DELETE FROM EMPLEADOS
WHERE not F_BAJA='' or F_BAJA not in (SELECT F_BAJA FROM nomina.dbo.AN_EMP)


saludos
  #3 (permalink)  
Antiguo 06/11/2006, 12:01
Avatar de Fabuazul  
Fecha de Ingreso: febrero-2006
Ubicación: Entre cuatro paredes
Mensajes: 693
Antigüedad: 18 años, 3 meses
Puntos: 7
Hola!!! Gracias por contestar Jose Rayado.

Debo suponer que en vez de "comillas" pusiste apostrofes('), de igual manera me causa error.
__________________
Sí tienes alguna duda.... puedo ayudar a ampliarla.:-D
  #4 (permalink)  
Antiguo 06/11/2006, 14:07
Avatar de jose rayado  
Fecha de Ingreso: mayo-2005
Ubicación: Monterrey
Mensajes: 35
Antigüedad: 19 años
Puntos: 0
Hola Fabuazul, revisa con apostrofes ya que use comillas y me tiró el mismo error

Saludos
  #5 (permalink)  
Antiguo 10/11/2006, 11:13
Avatar de Fabuazul  
Fecha de Ingreso: febrero-2006
Ubicación: Entre cuatro paredes
Mensajes: 693
Antigüedad: 18 años, 3 meses
Puntos: 7
Con apostrofes me marca lo mismo.
__________________
Sí tienes alguna duda.... puedo ayudar a ampliarla.:-D
  #6 (permalink)  
Antiguo 10/11/2006, 11:36
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
para borrar los empleados cuyo campo F_BAJA contiene algo seria algo como

Código:
DELETE EMPLEADOS
WHERE  isnull(F_BAJA,'') <> ''
una pregunta, para que es lo del not in...???
que hay en esa otra tabla y para que lo metes en el delete???
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #7 (permalink)  
Antiguo 10/11/2006, 11:38
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 1 mes
Puntos: 3
Hola Fabu , aqui de nuevo. Respecto a tu sentencia, yo lo pondria de esta [CODE=SQL]forma:
DELETE FROM EMPLEADOS
WHERE F_BAJA IS NOT NULL or F_BAJA not in (SELECT F_BAJA FROM nomina.dbo.AN_EMP).[/CODE]
No se si funcione asi....


:EDITO: Iba a preguntar lo mismo que Andres...
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."

Última edición por PequeñoMauro; 10/11/2006 a las 11:40 Razón: error de edición
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 00:34.