[pgsql-ayuda] triggers

David Martinez Cuevas martinez.d@interplanet.com.mx
Tue, 21 Aug 2001 09:41:07 -0500


Felipe Fernandez wrote:

> Tengo dos tablas
>
> create table clientes (
>     codigo varchar(10) nor null primary key,
>      nombre varchar(40)
> );
>
> create table facturas (
>     numero int4 not null primary key,
>     fecha date,
>     cliente varchar(10) references clientes,
>     ....
> );
>

mmmm...
Creo que tienes un problema de concepto.
Los constraints de llave foranea (el 'references') no agrega materialmente
NADA
a tus tablas, mas bien es una restriccion; de modo que cualquier campo
insertado en
la columna cliente de la tabla facturas, sea identico a alguno insertado en
el mismo
campo en la tabla clientes.

Ahora bien, no estoy seguro que la sintaxis que estes usando sea la
correcta, yo te
recomiendo algo como esto:

      CREATE TABLE depto (
            id_depto int4 not null,
            nombre_depto varchar not null,
            PRIMARY KEY (id_depto)
       )

      CREATE TABLE empleado (
           id_empleado int4 not null,
           nombre_emp    varchar not null,
           id_depto  int4 not null,
           FOREIGN KEY (id_depto) references depto(id_depto)
       )

OJO: Los campos relacionados deben ser exactamente del mismo tipo

--
-------------------------
David Martinez Cuevas
Programador Web
InterPlanet, S.A. de C.V.
t. 56.82.50.60
-------------------------