Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-05-2011
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 301
Poder: 22
tulio Va por buen camino
Thumbs up Como ejecuto varios insert en interbase

Hola Foro

les comento que necesito hacer varios insert en una tabla y cuando los corro desde ibexpert o desde database de delphi 7 me da el siguiente error

error en linea 2 char 2

Esto son los insert que da el error.

INSERT INTO COMPROWEB ( NRO_CLIENTE , PERIODO , ANIO ) VALUES ( '13186', '5', '2011')
INSERT INTO COMPROWEB ( NRO_CLIENTE , PERIODO , ANIO ) VALUES ( '13186', '5', '2011')
INSERT INTO COMPROWEB ( NRO_CLIENTE , PERIODO , ANIO ) VALUES ( '25550', '6', '2006')
INSERT INTO COMPROWEB ( NRO_CLIENTE , PERIODO , ANIO ) VALUES ( '25550', '10','2010')

Si alguien sabe como se arregla o que soft utilizar para hacer insert a una tabla en forma masiva se lo agradezco.

Saludos y gracias

tulio
Responder Con Cita
  #2  
Antiguo 13-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Campos????, que campos ????.
Numericos, texto, fecha ?????.
Pones todo como texto, son campos texto todos ????.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 13-05-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

En IBExpert los tienes que ejecutar en la pantalla "Script Executive" y no en la pantalla "SQL Editor", puesto que eso que has indicado no es una sentencia SQL, sino un conjunto de sentecias SQL, es decir, un Script SQL.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #4  
Antiguo 13-05-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Si quieres hacer inserts masivos, necesitas usar un script.

El error que recibes es por que las sentencias que estás usando, ibexpert las toma como una sola sentencia y detecta errores.

Para hacer la prueba desde IBExpert usa el Script Executive y separa cada sentencia Insert con un ;.

Código SQL [-]
INSERT INTO COMPROWEB ( NRO_CLIENTE , PERIODO , ANIO ) VALUES ( '13186', '5', '2011');
INSERT INTO COMPROWEB ( NRO_CLIENTE , PERIODO , ANIO ) VALUES ( '13186', '5', '2011');
INSERT INTO COMPROWEB ( NRO_CLIENTE , PERIODO , ANIO ) VALUES ( '25550', '6', '2006');
INSERT INTO COMPROWEB ( NRO_CLIENTE , PERIODO , ANIO ) VALUES ( '25550', '10','2010');


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #5  
Antiguo 13-05-2011
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 301
Poder: 22
tulio Va por buen camino
Gracias por responder

si por ejemplo el periodo es caracter y nro de cliente y anio son integer, en los values hay que enviarlos de otra manera

saludos
Responder Con Cita
  #6  
Antiguo 13-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Los campos numericos NO se encierran entre comillas.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 13-05-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Tu sentencia tendría que ser algo como:

Código SQL [-]
INSERT INTO COMPROWEB ( NRO_CLIENTE , PERIODO , ANIO ) VALUES ( 13186, '5', 2011);

Si te fijas, los valores para los campos tipo Integer no están encerrados entre comillas.



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #8  
Antiguo 13-05-2011
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 301
Poder: 22
tulio Va por buen camino
Usando el Ibexpert, uso el script executive y me da el siguiente error que DB is not open, pero a la base de datos ya la he habierto. Sera porque el ibexpert es limitado y no el full

saludos y gracias
Responder Con Cita
  #9  
Antiguo 13-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Cita:
Empezado por tulio Ver Mensaje
Sera porque el ibexpert es limitado y no el full
Lo dudo mucho.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #10  
Antiguo 13-05-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Checa la ventana del Script Executive, ahí vas a ver un menú que lista las bases de datos que tienes registradas en IBExpert, selecciona la que vas a usar para ejecutar el script. Si la BD está desconectada te debe preguntar si te quieres conectar a ella.


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #11  
Antiguo 13-05-2011
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 301
Poder: 22
tulio Va por buen camino
Foro Muchas Gracias por ayudarme

Los problemas eran dos por los que no podia hacer los insert

Primero
en el script executive al principio no le ponia la apertura de la base
CONNECT 'C:\Sistemas\BASE_DE_DATOS\DATOS.GDB' USER 'SYSDBA' PASSWORD 'masterkey';

y lo segundo era que al final de cada insert no le ponia el punto y como ;

Con esas dos cosas andubo de diez

Muchas gracias por el interes de todos, nos vemos ....

tulio
Responder Con Cita
  #12  
Antiguo 13-05-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola Tulio

Cita:
Empezado por tulio Ver Mensaje
Primero
en el script executive al principio no le ponia la apertura de la base
CONNECT 'C:\Sistemas\BASE_DE_DATOS\DATOS.GDB' USER 'SYSDBA' PASSWORD 'masterkey';
Esto no es imprescindible ponerlo siempre.

En la barra superior del Script Executive, puedes activar la casilla "use current connection", con lo que el Script se ejecutará sobre la base de datos que tengas abierta en IB-Expert.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ejecutar varios insert a la ves jzginez Conexión con bases de datos 4 06-12-2007 03:35:29
Varios INSERT en la misma línea. IPQ Firebird e Interbase 2 15-06-2006 22:07:21
Con delphi Insert en Firebird varios registros desde otra tabla lasweb Conexión con bases de datos 3 04-04-2005 20:58:26
Ejecutar varios insert en MYSQL Igna Conexión con bases de datos 8 13-04-2004 15:55:31
Como hacer un insert de varios registros fredy_boots SQL 2 25-11-2003 14:55:37


La franja horaria es GMT +2. Ahora son las 11:36:56.


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
Copyright 1996-2007 Club Delphi