SQL Server - ERROR AL HACER UN INSERT EN SQL.

 
Vista:

ERROR AL HACER UN INSERT EN SQL.

Publicado por A N G E L. (5 intervenciones) el 26/06/2007 19:19:19
ESTOY TRABAJANDO EN PROGRAMA QUE GENERA UN SCRIPT PARA SER CORRIDO EN UNA BASE DE DATOS DE SQL SERVER 2000.
MI PROGRAMA LEE UNAS TABLAS Y GENERA UNA SERIE DE SCRIPTS PARA REALIZAR UPDATES, CON ESOS NO HE TENIDO PROBLEMA, PERO ME HE ENCONTRADO EN LA SITUACION DE TENER Q BORRAR TODOS LOS REGISTROS DE UNA TABLA EN SQL A LA CUAL LUEGO LE REALIZARE UNOS INSERTS.. LOS BORRADOS LOS HAGO CON ESTA LINEA :
DELETE FROM MITABLA WHERE CAMPO>1
CON LA CONDICION ASEGURO BORRAR TODOS LOS REGISTROS DE LA TABLA, BUENO NO MANEJO MUCHO SQL, NO SE SI HAY OTRA FORMA DE BORRAR TODOS LOS REGISTROS DE UNA TABLA CON EL ZAP EN FOX O ALGO SIMILAR.. BUENO.. LUEGO DE BORRADOS TODOS LOS REGISTROS DE LA TABLA , HAGO EL RESPECTIVO INSERT DE ESTA FORMA :

INSERT INTO INVENTORYINGREDIENT (sto_nStoreID,ir_nRecipeID,ii_nSequence,invi_nItemID,ir_nRecipeIDLink,ii_nUnits,ii_nCost,ii_nPctOfRecipe ) VALUES (31,'1',1,122,0,1,0.23,99)

PERO ME DA EL SIGUIENTE ERROR :

INSERT statement conflicted with TABLE FOREIGN KEY constraint 'FK_InventoryIngredientUsesInventoryRecipe'. The conflict occurred in database 'BK31', table 'InventoryRecipe'.
The statement has been terminated.

ALGUIEN PODRIA DECIRME COMO PODRIA HACER PARA CORREGIR ESTE PROBLEMA Y PODER INSERTAR REGISTROS A ESTA TABLA ELIMINANDO ESTE ERROR ????

DE ANTE MANO MUCHAS GRACIAS..
RECUERDEN Q EN LO Q ESTOY TRABAJANDO ES EN UN PROGRAMA Q GENERA UN SCRIPT.SQL DE MANERA Q ESTO NO TIENE NADA Q VER CON VISTAS REMOTAS Y COSAS POR EL ESTILO.. TODO DEBE MANEJARSE EN UN SCRIPT EL CUAL SE ENVIARA A LAS SUCURSALES PARA SER CORRIDO EN SQL SERVER Y ACTUALIZAR LA INFORMACION..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ERROR AL HACER UN INSERT EN SQL.

Publicado por Carlos Reyes (49 intervenciones) el 26/06/2007 21:35:04
Hola Angel.

Mira, la verdad no he utilizado FOX, por lo que no se si te vaya a reconocer el comando, pero si lo que quieres es borrar por completo el contenido de una tabla puedes utilizar la sentencia "TRUNCATE TABLE TUTABLA", y asi eliminaras todo el contenido de la tabla y reinicializandola a su estado inicial. En cuanto al error que te aparece estoy casi seguro que es por que estas utilizando una llave foranea, y seguramente ese campo esta ligado a la tabla que borras por completo, asi que como no existe en la tabla ligada pues te impide insertar dicho valor.

Si no funciona lo anterior entonces puede ser que alguna regla que tienes establecida en tu tabla cause el conflicto, asi que verifica que los parametros que le estas enviando correspondan al tipo o que no estes intentando duplicar un registro.

Suerte...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ERROR AL HACER UN INSERT EN SQL.

Publicado por Isaias (3308 intervenciones) el 26/06/2007 21:39:55
Veamos, el error es porque estas intentando ingresar registros cuyo tabla referenciada ('BK31', table 'InventoryRecipe'), no existen.

En pocas palabras, no puedes insertar FACTURAS de CLIENTES que no existen
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar