Received: from maia.hub.org (maia-5.hub.org [200.46.204.29]) by mail.postgresql.org (Postfix) with ESMTP id B27BFB5DC17 for ; Fri, 9 Sep 2011 10:24:00 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.29]) (amavisd-maia, port 10024) with ESMTP id 18851-08 for ; Fri, 9 Sep 2011 13:23:54 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-yx0-f174.google.com (mail-yx0-f174.google.com [209.85.213.174]) by mail.postgresql.org (Postfix) with ESMTP id 6F964B5DC16 for ; Fri, 9 Sep 2011 10:23:54 -0300 (ADT) Received: by yxp4 with SMTP id 4so1404321yxp.19 for ; Fri, 09 Sep 2011 06:23:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=xYwgprfwNahQYO9ZMPo3pn5aAyt1OYmLfB7tP1Zc0OU=; b=SwOvIVKQQrt4gdfiM4Whx0+btl8fNhnkIdIrD6HDllZgsceKjUiL8d3mTLMl8e8Zfy xS1w18WWg1KJMdIhNDcD091c1QOCFFAksh1a9SFVfAHiHl2KXVTW42PeijUch27YEUXZ OXlYgmV0ATPAMJRDDm2HJD+flhH36k5kjbaS4= MIME-Version: 1.0 Received: by 10.236.37.202 with SMTP id y50mr12001382yha.101.1315574634562; Fri, 09 Sep 2011 06:23:54 -0700 (PDT) Received: by 10.147.167.16 with HTTP; Fri, 9 Sep 2011 06:23:54 -0700 (PDT) In-Reply-To: References: Date: Fri, 9 Sep 2011 15:23:54 +0200 Message-ID: Subject: Re: My Trigger is not working :( From: =?ISO-8859-2?Q?pasman_pasma=F1ski?= To: pgsql-sql@postgresql.org Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.889 tagged_above=-5 required=5 tests=BAYES_00=-1.9, FREEMAIL_FROM=0.001, T_TO_NO_BRKTS_FREEMAIL=0.01 X-Spam-Level: X-Archive-Number: 201109/13 X-Sequence-Number: 35813 DECLARE section not contain variable AD_TABLE_ID 2011/9/9, Waqar Azeem : > I think i missed some basics ... > > > ERROR: column "ad_table_id" does not exist > Where: PL/pgSQL function "oms_changelog" line 21 at assignment > > -------------------------- > trigger definition > -------------------------- > > CREATE OR REPLACE FUNCTION oms_changelog() > RETURNS trigger AS > $BODY$ > DECLARE > int_AD_COLUMN_ID numeric(10,0); > int_AD_TABLE_ID numeric(10,0); > BEGIN > > int_AD_COLUMN_ID = 0; > int_AD_TABLE_ID = 0; > > int_AD_TABLE_ID = NEW.AD_TABLE_ID; > int_AD_COLUMN_ID = NEW.AD_COLUMN_ID; > > IF (int_AD_COLUMN_ID > 1000000) THEN > NEW.ad_table_id = AD_TABLE_ID; > NEW.ad_column_id = AD_COLUMN_ID; > END IF; > > -- RAISE EXCEPTION '% cannot have a negative salary', NEW.empname; > RETURN NEW; > END; > $BODY$ > LANGUAGE 'plpgsql' VOLATILE > COST 100; > > > > ---------------- > Table definition: > ---------------- > > CREATE TABLE ad_changelog > ( > ad_changelog_id numeric(10,0) NOT NULL, > ad_session_id numeric(10,0) NOT NULL, > ad_table_id numeric(10,0) NOT NULL, > ad_column_id numeric(10,0) NOT NULL, > ad_client_id numeric(10,0) NOT NULL, > ad_org_id numeric(10,0) NOT NULL, > isactive character(1) NOT NULL DEFAULT 'Y'::bpchar, > created timestamp without time zone NOT NULL DEFAULT now(), > createdby numeric(10,0) NOT NULL, > updated timestamp without time zone NOT NULL DEFAULT now(), > updatedby numeric(10,0) NOT NULL, > record_id numeric(10,0) NOT NULL, > oldvalue character varying(2000), > newvalue character varying(2000), > undo character(1), > redo character(1), > iscustomization character(1) NOT NULL DEFAULT 'N'::bpchar, > trxname character varying(60), > description character varying(255), > eventchangelog character(1), > CONSTRAINT ad_changelog_pkey PRIMARY KEY (ad_changelog_id, ad_session_id, > ad_table_id, ad_column_id), > CONSTRAINT adcolumn_adchangelog FOREIGN KEY (ad_column_id) > REFERENCES ad_column (ad_column_id) MATCH SIMPLE > ON UPDATE NO ACTION ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, > CONSTRAINT adsession_adchangelog FOREIGN KEY (ad_session_id) > REFERENCES ad_session (ad_session_id) MATCH SIMPLE > ON UPDATE NO ACTION ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED, > CONSTRAINT adtable_adchangelog FOREIGN KEY (ad_table_id) > REFERENCES ad_table (ad_table_id) MATCH SIMPLE > ON UPDATE NO ACTION ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, > CONSTRAINT ad_changelog_isactive_check CHECK (isactive = ANY > (ARRAY['Y'::bpchar, 'N'::bpchar])), > CONSTRAINT ad_changelog_iscustomization_check CHECK (iscustomization = ANY > (ARRAY['Y'::bpchar, 'N'::bpchar])) > ) > WITH ( > OIDS=FALSE > ); > ALTER TABLE ad_changelog OWNER TO adempiere; > > -- Index: ad_changelog_speed > > -- DROP INDEX ad_changelog_speed; > > CREATE INDEX ad_changelog_speed > ON ad_changelog > USING btree > (ad_table_id, record_id); > > > -- Trigger: oms_changelog on ad_changelog > > -- DROP TRIGGER oms_changelog ON ad_changelog; > > CREATE TRIGGER oms_changelog > BEFORE INSERT > ON ad_changelog > FOR EACH ROW > EXECUTE PROCEDURE oms_changelog(); > -- ------------ pasman