insertar tuplas en firebird

Berna López kerocky en ono.com
Lun Jul 18 18:42:53 CEST 2005


Lo siento, pero no acabo de enternder o no me funciona, el Trigger es el
siguiente

T$_COD_FAMILIA   de tipo:  Before Insert

as
begin
    if (new."COD_FAMILIA" is null) then
    begin
        new."COD_FAMILIA"= gen_id("G$_COD_FAMILIA",1);
    end
end

la tabla creada es la siguiente:


/* Table: FAMILIA, Owner: BERNA */
CREATE TABLE "FAMILIA"
(
  "COD_FAMILIA" INTEGER NOT NULL,
  "ACRONIMO" CHAR(3) CHARACTER SET WIN1252 NOT NULL,
  "NOM_FAMILIA" VARCHAR(30) CHARACTER SET WIN1252 NOT NULL,
 PRIMARY KEY ("COD_FAMILIA")
);

por tanto la consulta seria:

insert into FAMILIA values (",'aaa','abcdefghijkl')

pero la clave principal me da problemas, alguien sabria decirme que valor
tengo q poner aqui

Ah, perdon si es muy larga mi consulta. Gracias

>En Firebird un autoincrmental se implementa mediante un trigger Before
>Insert y un generator. Lo que hace el trigger es completar el campo
>autoincrmental con el valor que le devuelve el generador (tomalo como
>funcion que devuelve un numero consecutivo incrementado en 1).

>Tenes que ver como esta implementado el trigger para ver que valor tenes
>que pasarle al campo primary key (normalmente '' - el string vacio),
>pero tenes que pasarle un valor. Por ejemplo:

>insert into UnaTabla (CampoPK, Valor)
>values ('', 35.2);

>y no

>insert into UnaTabla (Valor)
>values (35.2);

> Gracias.


-- 
Sergio Gómez - S3R




Más información sobre la lista de distribución Python-es