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

[SOLUCIONADO] Necesito hacer un Insert to

Estas en el tema de Necesito hacer un Insert to en el foro de SQL Server en Foros del Web. Buenas, lo que quiero es lo siguiente, cual seria la sintaxis para insertar los valores 888,999,101010 en la tabla USUARIO en el campo CEDULA con ...

  #1 (permalink)  
Antiguo 25/11/2013, 07:51
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Necesito hacer un Insert to

Buenas,

lo que quiero es lo siguiente, cual seria la sintaxis para insertar los valores 888,999,101010 en la tabla USUARIO en el campo CEDULA con ID = 55, 56, 57

Así lo comencé:

Código SQL:
Ver original
  1. INSERT INTO USUARIO (CEDULA) VALUES ('888,999,101010')
  2.  WHERE ID = ('55','56','57')

Me sale error en el where.. necesito ayuda urgente,

les agradecería mucho

Última edición por gnzsoloyo; 25/11/2013 a las 09:12
  #2 (permalink)  
Antiguo 25/11/2013, 09:14
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Necesito hacer un Insert to

Cita:
Me sale error en el where.. necesito ayuda urgente,
Seguro que te dará error. Un INSERT no tiene WHERE.
Lo que tu estás intentando es hacer una actualización (UPDATE) y no un alta (INSERT). SOn operaciones completamente distintas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 25/11/2013, 09:30
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to

y puedo hacer un UPDATE en un campo "vacio"????
  #4 (permalink)  
Antiguo 25/11/2013, 09:56
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Necesito hacer un Insert to

Cita:
Iniciado por rony1880 Ver Mensaje
y puedo hacer un UPDATE en un campo "vacio"????
¿Y lo has probado?



En serio, sería mejor que probaras la sintaxis antes de hacer la pregunta. La experiencia suele ser muy instructuva cuando se mete la pata.
Mira, si no vemos cómo intentarías el UPDATE, no puedo saber de antemano si puedes escribirlo bien.

Ahora bien, si me baso en lo que quieres lograr:
Cita:
lo que quiero es lo siguiente, cual seria la sintaxis para insertar los valores 888,999,101010 en la tabla USUARIO en el campo CEDULA con ID = 55, 56, 57
Eso es un UPDATE, donde en cada uno de los campos correspondientes pondrás los valores que indicas, para ls ID que mencionas.
¿Por qué no nos muestras cómo escribirías ese UPDATE??
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 25/11/2013, 10:01
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to

Gracias por tu respuesta,

El update sería asi

update USUARIO set CEDULA= '888,999,101010' where ID in ('55','56','57')

no tengo mucha experiencia en sql,
ojala me ayudaras un poco.

Gracias
  #6 (permalink)  
Antiguo 25/11/2013, 10:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Necesito hacer un Insert to

Cita:
Iniciado por rony1880 Ver Mensaje
Gracias por tu respuesta,

El update sería asi

update USUARIO set CEDULA= '888,999,101010' where ID in ('55','56','57')

no tengo mucha experiencia en sql,
ojala me ayudaras un poco.

Gracias
No, eso está mal.
Un campo sólo puede contener un único valor, especialmente si es una cédula de identidad (una única por persona), por lo que si tienes tres valores, uno para cada ID, debes si o sí hacer tres UDPATEs:
Código SQL:
Ver original
  1. UPDATE USUARIO
  2. SET CEDULA= 888
  3. WHERE ID = 55
  4.  
  5. UPDATE USUARIO
  6. SET CEDULA= 999
  7. WHERE ID = 56
  8.  
  9. UPDATE USUARIO
  10. SET CEDULA= 101010
  11. WHERE ID = 57
Sólo puedes hacer cosas como

Código SQL:
Ver original
  1. UPDATE USUARIO SET CEDULA= 888
  2. WHERE ID IN ('55','56','57')
Si el mismo valor se guardará en todos los registros que cumplan la condición. Pero eso abarcará al mismo tiempo a todos esos reistros.

En realidad, te recomiendo que busques un manual básico de SQL, porque si este tipo de consultas te trae problemas, es que necesitas estudiar lo básico.
Sin pretender ofender.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 25/11/2013, 10:35
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to

mmm gracias por tu respuesta,

El problema es que son mas de 1000 registros, no existe de verdad alguna forma de hacer un update multiple masivamente?
  #8 (permalink)  
Antiguo 25/11/2013, 10:36
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Necesito hacer un Insert to

1000 registros a actualizar con diferente valor en CEDULA????
__________________
MCTS Isaias Islas
  #9 (permalink)  
Antiguo 25/11/2013, 10:38
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to

Exactamente!
  #10 (permalink)  
Antiguo 25/11/2013, 10:45
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Necesito hacer un Insert to

y de forma masiva??? tienes algun patron para hacer este update???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #11 (permalink)  
Antiguo 25/11/2013, 10:50
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Necesito hacer un Insert to

O alguna otra tabla donde tengas la referencia de que valor le corresponde a cada cedula?
__________________
MCTS Isaias Islas
  #12 (permalink)  
Antiguo 25/11/2013, 11:02
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to

Tengo dos listados

1.
Los ID

55
56
57
58
59
60

2.
Las cedulas

888
999
101010
111111
121212


la idea es actualizar(update) o de alguna manera insertar(insert to) esas cedulas en el campo CEDULA de esos ID
  #13 (permalink)  
Antiguo 25/11/2013, 11:05
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Necesito hacer un Insert to

Eso ya se entendió, lo que se te esta preguntando es si tienes en alguna TABLA la referencia del valor que se le otorgara a CEDULA.....¿Me he explicado?
__________________
MCTS Isaias Islas
  #14 (permalink)  
Antiguo 25/11/2013, 11:07
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to

no hay ref de ese valor en esa bd, ps son valores externos
  #15 (permalink)  
Antiguo 25/11/2013, 11:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Necesito hacer un Insert to

entonces no queda otra opcion que capturarlos a mano, puedo preguntar, esa lista de nuevos valores de donde la estas leyendo, esta almacenada en algun lugar de tu PC o esta en un papel???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #16 (permalink)  
Antiguo 25/11/2013, 11:08
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Necesito hacer un Insert to

Si no tienes la referencia y solo tu sabes que valor le corresponde, entonces tendrás que actualizar, uno a uno, cada registro.

El problema (por ahora) de SQL Server, que no tiene el poder de la adivinación.
__________________
MCTS Isaias Islas
  #17 (permalink)  
Antiguo 25/11/2013, 11:11
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to

Que estén en el mismo orden no sirve de algo?
  #18 (permalink)  
Antiguo 25/11/2013, 11:13
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to

Está en un bloc de notas
  #19 (permalink)  
Antiguo 25/11/2013, 11:14
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Necesito hacer un Insert to

y como sabes que valor le corresponde a cada id? por obra y gracia del espiritu santo??? solo por el orden? si lo tienes un un bloc de notas se podrian insertar esos datos en una tabla y esta tabla ordenarla para que haga match con los datos que ya tienes, que tu puedas hacer eso..............
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #20 (permalink)  
Antiguo 25/11/2013, 11:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Necesito hacer un Insert to

No, porque a cada Cédula le corresponde un único ID, por lo tanto deberás procesar el par de datos al mismo tiempo.
Si la lista de pares de datos está en un mismo archivo, ´podrías procesar ese archivo línea a línea para automatizar el proceso, sea con SP o bien con algún aplicativo.Pero el procesamiento siempre será uno a uno.
Masivamente, sólo podrías creando una tabla temporal de la que se tome el dato, como te sugieren.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #21 (permalink)  
Antiguo 25/11/2013, 11:16
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Necesito hacer un Insert to

Cita:
Iniciado por rony1880 Ver Mensaje
Está en un bloc de notas
Lo voy a tomar como una humorada...

¿En serio lo tienes en un block de notas?
¿Y quieres tomarlo de allí para hacer un UPDATE masivo?


Por favor, planteate en serio hacer un proceso sobre un archivo plano.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #22 (permalink)  
Antiguo 25/11/2013, 11:18
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to

Cita:
Iniciado por Libras Ver Mensaje
y como sabes que valor le corresponde a cada id? por obra y gracia del espiritu santo??? solo por el orden? si lo tienes un un bloc de notas se podrian insertar esos datos en una tabla y esta tabla ordenarla para que haga match con los datos que ya tienes, que tu puedas hacer eso..............
No es por obra y gracia del espiritu santo amigo, yo solo quiero saber si hay una manera de hacerlo, detrás de todo esto ya está hecho un arduo trabajo que quiero finalizar con la ayuda de ustedes
  #23 (permalink)  
Antiguo 25/11/2013, 11:18
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Necesito hacer un Insert to

Mándanos unos 10 registros de tu BLOCK DE NOTAS.....

publícalo aquí mismo...
__________________
MCTS Isaias Islas
  #24 (permalink)  
Antiguo 25/11/2013, 11:20
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Lo voy a tomar como una humorada...

¿En serio lo tienes en un block de notas?
¿Y quieres tomarlo de allí para hacer un UPDATE masivo?


Por favor, planteate en serio hacer un proceso sobre un archivo plano.
bueno, eso, si te gusta mas leerlo como archivo plano, eso tengo, un archivo plano con esas cedulas
  #25 (permalink)  
Antiguo 25/11/2013, 11:21
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Necesito hacer un Insert to

Cita:
Iniciado por rony1880 Ver Mensaje
No es por obra y gracia del espiritu santo amigo, yo solo quiero saber si hay una manera de hacerlo, detrás de todo esto ya está hecho un arduo trabajo que quiero finalizar con la ayuda de ustedes
Manera de hacerlo existe, que tu estes planteando mal lo que necesitas es diferente, como te dicen pon un ejemplo de tus datos y tambien de como se enlazaria con la tabla de los Id's
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #26 (permalink)  
Antiguo 25/11/2013, 11:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Necesito hacer un Insert to

Cita:
Iniciado por rony1880 Ver Mensaje
bueno, eso, si te gusta mas leerlo como archivo plano, eso tengo, un archivo plano con esas cedulas
Pues eso es mejor, especialmente si cada linea contiene el par cedula/id separado por comas, por ejemplo
Con eso puedes cargar una tabla temporal y realizar todo el rpoceso.

Usa BULK INSERT.

Aqui tienes un ejemplo: http://blog.sqlauthority.com/2008/02...to-sql-server/
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #27 (permalink)  
Antiguo 25/11/2013, 11:29
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Necesito hacer un Insert to

Me retiro de este tema dejo que iislas y gnzsoloyo lo resuelvan, realmente me hizo perder la paciencia :S
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #28 (permalink)  
Antiguo 25/11/2013, 11:31
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to



Esta es mi Tabla, los valores que van en el campo Phone son numericos, no se centren en cuales son
  #29 (permalink)  
Antiguo 25/11/2013, 11:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Necesito hacer un Insert to

Eso no nos sirve, ni es lo que te pedimos. Y además esa parte ya la entendimos (incluso in verla).

Postea lo que tienes en el block de notas, ESO es lo que necesitamos ver.

Ahora, una cosa: ¿Entendiste que te conviene usar un BULK INSERT y realizarlo por medio de una tabla temporal?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #30 (permalink)  
Antiguo 25/11/2013, 11:37
 
Fecha de Ingreso: mayo-2011
Mensajes: 38
Antigüedad: 13 años
Puntos: 0
Respuesta: Necesito hacer un Insert to

Eso era para los que no han entendido lo que quiero, si gnzsoloyo, gracias por tu ayuda

Esta es una parte del archivo

Código:
3547,1124036490
2407,1118835182
2503,1059701031
3558,1118831232
2500,95031701156
3520,1118813321
2517,1118839117
2496,1118837153
2406,1118851918
2411,1118848797
2417,1006569372
2498,1118840475
2369,1124046132
2478,1121330031
3606,1124050076
3565,91061406480
2459,96062625136

Etiquetas: insert, 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 13:22.