Club Delphi  
    Paypal   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

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 21-08-2006
berfer berfer is offline
Miembro
 
Registrado: ago 2006
Posts: 35
Poder: 0
berfer Va por buen camino
Hola jacanche:

Tengo esta estructura de tabla,
(codigo)
CREATE TABLE AARTICUL (
CODART CHAR(13) NOT NULL,
NOMART VARCHAR(80) NOT NULL,
FAMILI CHAR(5) NOT NULL,
SUBFAM CHAR(3) NOT NULL,
PRECIO NUMERIC(15,2) NOT NULL,
IVAVEN CHAR(3) NOT NULL,
RETVEN CHAR(3),
DTOVEN NUMERIC(6,2) NOT NULL,
IVACOM CHAR(3) NOT NULL,
RETCOM CHAR(3),
DTOCOM NUMERIC(6,2) NOT NULL,
USER_CREATED CHAR(20) NOT NULL,
DATE_CREATED DATE NOT NULL,
USER_UPDATED CHAR(20) NOT NULL,
DATE_UPDATED DATE NOT NULL
);


/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/
ALTER TABLE AARTICUL ADD CONSTRAINT PK_AARTICUL PRIMARY KEY (CODART);

/******************************************************************************/
/**** Foreign Keys ****/
/******************************************************************************/
ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL FOREIGN KEY (FAMILI) REFERENCES AFAMILIA (CODIGO);
ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL1 FOREIGN KEY (SUBFAM, FAMILI) REFERENCES ASUBFAMI (CODIGO, CODFAM);
ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL2 FOREIGN KEY (IVAVEN) REFERENCES ATIPOIMP (CODIGO);
ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL3 FOREIGN KEY (RETVEN) REFERENCES ATIPOIMP (CODIGO);
ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL4 FOREIGN KEY (IVACOM) REFERENCES ATIPOIMP (CODIGO);
ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL5 FOREIGN KEY (RETCOM) REFERENCES ATIPOIMP (CODIGO);

/******************************************************************************/
/**** Triggers ****/
/******************************************************************************/

SET TERM ^ ;


/* Trigger: AARTICUL_BI0 */
CREATE TRIGGER AARTICUL_BI0 FOR AARTICUL
ACTIVE BEFORE INSERT POSITION 0
AS
begin
if (new.user_created is null) then
new.user_created= user;
if (new.user_updated is null) then
new.user_updated = user;
if(new.date_created is null) then
new.date_created = 'NOW';
if(new.date_updated is null) then
new.date_updated = 'NOW';
end
^
/* Trigger: AARTICUL_BU */
CREATE TRIGGER AARTICUL_BU FOR AARTICUL
ACTIVE BEFORE UPDATE POSITION 0
AS
begin
new.user_updated= user;
new.date_updated='NOW';
end
^

SET TERM ; ^

(/codigo)

Entonces como puedes ver tanto el usuario que crea el registro como la fecha de creacion y el usuario que modifica y la fecha en la cual es modificado lo controlo por un disparador, pero resulta que si meto los datos de forma manual en ibexper me deja tocar esos campos cuando yo no quiero que el usuario pueda hacer nada sobre ellos.

La solucion que me dabas del grant insert etc etc es buena pero tiene el problema que tu mismo has podido ver, que me daria un fallo al lanzar el disparador.

Si se te ocurre alguna otra cosa pues te agradeceria que me dijeras.

Espero que con la estructura de la tabla todos podamos entender un poco mejor cual es mi problema, gracias.
Responder Con Cita
 



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
mysql no me permite agregar registros como duplicate entry.. Arturo MySQL 1 24-07-2006 19:15:39
Pasar un campo calculado a un campo del mismo DbGrid maravert Conexión con bases de datos 3 12-05-2006 00:31:30
Error (Duplicate Entry) romansiux Varios 4 31-05-2005 02:17:28
UPDATE de un campo dependiendo del valor de un campo de otra tabla Javi2 SQL 5 18-04-2005 16:35:05
Invalid key links entry?? nefy Firebird e Interbase 8 12-05-2004 17:06:21


La franja horaria es GMT +2. Ahora son las 15:28:20.


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