Yoel Mc Lennan escribió:
> Buenas, una consulta espero que simple :)
> 
> Quiero ejecutar un conjunto de ordenes en un solo paso y que a pesar de 
> encontrar algun error se pueda continuar con el siguiente script.
> 
> Por ejemplo , en el siguinte conjunto, puede que ya posea un registro con el 
> ID 2, pero quiero que continue con el siguiente (id 3)
> 
> es posible eso ?
> actualment el scrips se corta en el primer error que encuntra.
> 
> INSERT INTO "public"."cliente" ("id_cliente", "razon_social", "domicilio", 
> "id_pais", "id_ciudad", "localidad")
> VALUES (0, 'No Seleccionado', NULL, NULL, NULL, NULL);
> 
> INSERT INTO "public"."cliente" ("id_cliente", "razon_social", "domicilio", 
> "id_pais", "id_ciudad", "localidad")
> VALUES (1, 'Juan Perez', '-', 23, 3443, 'Capital Federal');
> 
> INSERT INTO "public"."cliente" ("id_cliente", "razon_social", "domicilio", 
> "id_pais", "id_ciudad", "localidad")
> VALUES (2, 'Juan Gomez', '-', 23, 3443, 'San Justo');

Lo más fácil es que omitas la columna id_cliente del INSERT y el valor
de VALUES, y uses una secuencia que previamente has hecho setval() al
valor actual más alto existente en la tabla.

-- 
Alvaro Herrera                          Developer, http://www.PostgreSQL.org/
"Hay quien adquiere la mala costumbre de ser infeliz" (M. A. Evans)
--
TIP 1: para suscribirte y desuscribirte, visita 
http://archives.postgresql.org/pgsql-es-ayuda

Responder a