Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Instrucción INSERT INTO no me funciona bien (https://www.clubdelphi.com/foros/showthread.php?t=76471)

Casimiro Notevi 04-11-2011 20:03:02

Si no he entendido mal, lo que quieres hacer sería esto:

Código SQL [-]
insert into ivarepercutido (
    select *  
    from ivarborrador1
    where codigo not in (select repsop from borrador1)
)

Ahora bien, que te funcione o no, eso es otra cosa :)

newtron 04-11-2011 20:43:26

Cita:

Empezado por Casimiro Notevi (Mensaje 417632)
Si no he entendido mal, lo que quieres hacer sería esto:

Código SQL [-]insert into ivarepercutido ( select * from ivarborrador1 where codigo not in (select repsop from borrador1) )


Ahora bien, que te funcione o no, eso es otra cosa :)

Pues no funciona, mi gozo en un pozo. :)

oscarac 04-11-2011 20:47:09

Cita:

Empezado por newtron (Mensaje 417639)
Pues no funciona, mi gozo en un pozo. :)

te sale algun mensaje?
que base de datos usas?

newtron 05-11-2011 09:16:45

Cita:

Empezado por oscarac (Mensaje 417640)
te sale algun mensaje?
que base de datos usas?

En esta última instrucción no da error, simplemente no hace nada, en las anteriores si que daba errores como de sintaxis.

La base de datos que uso es ElevateDB, que a todos vosotros os sonará a chino, posiblemente si hubiera aterrizado por aquí hace unos años usaría firebird. :D

Casimiro Notevi 05-11-2011 12:46:06

Cita:

Empezado por newtron (Mensaje 417681)
En esta última instrucción no da error, simplemente no hace nada

¿Y no puede ser que haya funcionado entonces?, y el "no hace nada" es que no hay nada que insertar con ese filtro (where) o que no hayas hecho 'commit' tras ejecutar la sentencia.
Por preguntar.

newtron 05-11-2011 12:56:13

Cita:

Empezado por Casimiro Notevi (Mensaje 417684)
¿Y no puede ser que haya funcionado entonces?, y el "no hace nada" es que no hay nada que insertar con ese filtro (where) o que no hayas hecho 'commit' tras ejecutar la sentencia.
Por preguntar.

Bueno, me puedo haber equivocado pero no creo porque registros a insertar con esas condiciones hay (creo) e hice commit seguro.

De todas formas volveré a probar por si acaso me equivoco (aunque tengo claro que eso es bastante improbable :p)

Casimiro Notevi 05-11-2011 13:02:17

Cita:

Empezado por newtron (Mensaje 417686)
De todas formas volveré a probar por si acaso me equivoco (aunque tengo claro que eso es bastante improbable :p)

Por supuesto, nosotros nunca nos equivocamos :)
Es el ordenador que ha fallado, o el windows ha hecho algo raro, o la conjunción de planetas... :)

ElDioni 07-11-2011 10:32:30

Yo que se que puede estar pasando, ¿tienes access instalado o algún otro programa de bbdd?, lo digo por hacer una prueba simple de crear las tablas en otro motor y probar las consultas que te hemos propuesto.

Saludos.

newtron 07-11-2011 10:38:29

Cita:

Empezado por ElDioni (Mensaje 417778)
Yo que se que puede estar pasando, ¿tienes access instalado o algún otro programa de bbdd?, lo digo por hacer una prueba simple de crear las tablas en otro motor y probar las consultas que te hemos propuesto.

Saludos.

Si pero la verdad es que no me solucionaría gran cosa que en otra base de datos funcionara, es posible que haya pequeñas variaciones de sintaxis entre unas bases de datos y otras en las instrucciones sql. No te apures, ya lo haré por código.

Gracias y un saludo

newtron 07-11-2011 14:02:20

:o

Cita:

Empezado por newtron (Mensaje 417686)
Bueno, me puedo haber equivocado pero no creo porque registros a insertar con esas condiciones hay (creo) e hice commit seguro.

De todas formas volveré a probar por si acaso me equivoco (aunque tengo claro que eso es bastante improbable :p)

Aunque podría callarme :D tengo que confesar que esta última instrucción de casimiro si que iba, pero en las pruebas que hice no sacaba nada porque con los datos que había debía hacerlo así. Después he estado haciendo más pruebas y me he dado cuenta del fallo con los datos de prueba.

Gracias por vuestra atención y un saludo

Casimiro Notevi 07-11-2011 14:39:06

Pues que sepas que me habías bajado mi autoestima :p y que no como ni duermo desde entonces.
Me voy a comer... :D

newtron 07-11-2011 17:03:23

Cita:

Empezado por Casimiro Notevi (Mensaje 417809)
Pues que sepas que me habías bajado mi autoestima :p y que no como ni duermo desde entonces.
Me voy a comer... :D

Pobre... mándame la factura del psicólogo, no hay problema. :p

Casimiro Notevi 07-11-2011 17:07:44

Entonces, (tonterías aparte), ¿has conseguido lo que querías con el sql?

newtron 07-11-2011 18:43:28

Cita:

Empezado por Casimiro Notevi (Mensaje 417821)
Entonces, (tonterías aparte), ¿has conseguido lo que querías con el sql?

Si, ya te digo que tu instrucción es correcta, probandola me he dado cuenta de que el problema estaba en había un fallo en los datos de prueba, la mía original también es correcta pero más rebuscada que la tuya.

Casimiro Notevi 07-11-2011 19:35:05



Por fin voy a poder dormir tranquilo :)

olbeup 08-11-2011 09:11:42

Prueba esto :D
Código SQL [-]
INSERT INTO IVAREPERCUTIDO
  SELECT * 
    FROM IVABORRADOR1
    WHERE CODIGO NOT IN (SELECT REPSOP FROM BORRADOR1)

Un saludo.

P.D.: Me encanta escribir código SQL

newtron 09-11-2011 09:19:32

Cita:

Empezado por olbeup (Mensaje 417873)
Prueba esto :D
Código SQL [-]INSERT INTO IVAREPERCUTIDO SELECT * FROM IVABORRADOR1 WHERE CODIGO NOT IN (SELECT REPSOP FROM BORRADOR1)


Un saludo.

P.D.: Me encanta escribir código SQL

¿Esta no es igual que la de casimiro?

Casimiro Notevi 09-11-2011 10:39:05

Cita:

Empezado por newtron (Mensaje 417965)
¿Esta no es igual que la de casimiro?

No, mi código está en minúsculas, es diferente, dónde vas a parar :)

newtron 09-11-2011 11:32:03

Cita:

Empezado por Casimiro Notevi (Mensaje 417972)
No, mi código está en minúsculas, es diferente, dónde vas a parar :)

Oh.... es verdad.... lo he comprobado y con el código en minúsculas va más rápido. :p

ElDioni 09-11-2011 17:26:51

Hola newtron, solo preguntarte si tuviste oportunidad de probar la primera opción que te indiqué, solo por saber si también funciona, me corroe la curiosidad.

Saludos.


La franja horaria es GMT +2. Ahora son las 02:00:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi