none
Como insertar informacion en tabla de SQL

    Question

  • Buenos dias, 
    disculpen estoy comenzando a trabajar en SQL y aun no tengo muchos conocimientos del tema... tengo un sistema de inventario el cual necesito actualizar y no he conseguido la manera de lograrlo...
    Tengo 4 tablas a las cuales debo agregarle aprox 200 seriales de diferentes equipos, cual es la manera mas facil de lograrlo?
    Intente exportando un archivo de excel, agregarle la informacion que necesitaba y reemplazarla tabla con este archivo actualizado, pero hasta el momento tengo un error que dice 
    "INSERT STATEMENT CONFLICTED WITH COLUMN FOREIGN KEY CONSTRAINT"
    Alguien me puede ayudar con esto? cual es la via mas facil? 
    Muchas gracias 
    Saludos...
    Monday, June 06, 2011 3:44 PM

Answers

All replies

  • el tema de la integridad referencial seguramente sté en el orden en que cambias.

    De eso se te queja.

    Lo ideal es que chequees que realmente esa información puede ser insertada, porque tienes los registros adecuados en las tablas que tienen dependencias.


    Comparte lo que sepas, aprende lo que no sepas (FGG) http://www.portalsql.com</a
    Monday, June 06, 2011 3:47 PM
    Moderator
  • Cuando se tiene que hacer una carga masiva como la que pareces comentar en tu caso, lo más normal y fácil es hacerlo a través de un proceso de Integration Services. Ahora, si como dices tienes pocos conocimientos de SQL Server, intentar que lo hagas por medio de otro producto pues igual es demasiado.

    El mensaje que comentas es un error de integridad referencial (existen registros que se intentan insertar en una tabla que se referencian a otra tabla pero que no existen en esta última).

    En fin, que ayudarte sin saber muy bien los conocimientos que tienes ni cómo es exactamente el proceso de carga pues lo complica aún más.

    Monday, June 06, 2011 3:48 PM
  • Gracias por tu pronta respuesta, si estoy algo básico en SQL, pero existe alguna manera de que me guié para conseguir esto? es decir, por un archivo separado por coma o alguna vía parecida lo puedo conseguir? 

    Como se tendría que hacer a través de Intregation Services? tengo instalado SQL 2000 (lo comento porque no se si eso influya).

    como dije estoy aprendiendo del tema pero de igual forma tengo que conseguir la manera de agregar esta información, ya que es indispensable.

    Muchas gracias por su apoyo.

     

    Monday, June 06, 2011 4:24 PM
  • Gracias por su respuesta, cuando exporto el archivo en Excel y lo actualizo, luego lo importo nuevamente en esa base de datos como una tabla, solo que no me permite reemplazar la tabla desactualizada, en este caso me quedan 2 tablas con el mismo nombre y solo se diferencian por $ al final.

     

    Cuando intento eliminar la tabla desactualizada me da un error que no me permite hacerlo, hasta donde entiendo es por las relaciones que tiene esa tabla con las demás. 

     

    Existe alguna manera de reemplazar la tabla  y no duplicarla? como puedo corregir el error mencionado? 

    Monday, June 06, 2011 4:29 PM
  • Hola.

    El error que recibes al borrar la tabla no lo tendrías si borraras en el orden correcto. Y lo mismo a la hora de insertar, si insertas justo en el orden inverso al borrar, no tendrás problemas de integridad referencial.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/ Sígueme en twitter en http://twitter.com/qwalgrande

    Monday, June 06, 2011 8:36 PM
    Moderator
  • Maor29, en SQL Server 2000 no teníamos Integration Services o SSIS; teníamos Data Transformation Services o DTS. Si dices que la información es indispensable, sugiero leer este artículo, que es un poco antiguo pero útil, http://www.microsoft.com/spain/technet/recursos/articulos/incbulkload.mspx, en donde usan la utilidad BCP para subir estos datos desde un archivo plano o incluso desde una hoja de cálculo.

    Ojo a las recomendaciones que te han hecho sobre la integridad referencial y el manejo de ésta mediante llaves foráneas.

    Y ten presente que el mejor material para aprender se llama "Books Online". Para la versión 2000, puedes descargar el material desde http://www.microsoft.com/downloads/en/details.aspx?familyid=a6f79cb1-a420-445f-8a4b-bd77a7da194b&displaylang=en.

    Saludos,

     

    Guillermo


    Guillermo Taylor F. IT Pro & Xbox gamer
    Wednesday, June 08, 2011 1:39 PM
  • Parece ser que te esta pasando lo mismo que me sucedió a mi, tenia que insertar 40,000 registros de artículos en SQL desde un archivo de excel y al intentar migrarlo me daba errores parecidos a ese. lo que debes tomar en consideración es que cada campo sea del mismo tipo de datos y que los datos se correspondan, y como te dice aquí ese error lo que te dice que un dato que se inserta en esa tabla depende de otra tabla, verifica que en la otra tabla estén los datos reverenciados que vas a insertar en la nueva. cual quier cosa que no entiendas pues pregunta.
    Wednesday, June 08, 2011 3:03 PM
  • Perfecto Guillermo muchas gracias, leere esta informacion para ver si me ayuda con el caso...

     

    Saludos

    Wednesday, June 15, 2011 3:37 PM
  • Muchas gracias Fausto intentare verificar lo que dices y cualquier cosa te aviso

     

    Saludos

    Wednesday, June 15, 2011 3:39 PM