pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Guy Fraser <guy@incentre.net>
To: pgsql-sql@postgresql.org
Subject: I need help with a rule to relocate duplicate records
Date: Wed, 14 May 2003 16:11:27 -0600
Message-ID: <3EC2BF0F.1070709@incentre.net> (raw)

I made a rule :

CREATE
 RULE
  ins_2003_may
AS
 ON
  INSERT
TO
 detail_2003may
WHERE
 EXISTS
  (
  SELECT
   "Acct-Status-Type",
   "User-Name",
   "Realm",
   "Called-Station-Id",
   "Calling-Station-Id",
   "Service-Type",
   "Framed-Protocol",
   "Client-IP-Address",
   "NAS-IP-Address",
   "NAS-Port-Type",
   "NAS-Port-Id",
   "Acct-Session-Id"
  FROM
   detail_2003may
  WHERE
   "Acct-Status-Type" = NEW."Acct-Status-Type" AND
   "User-Name" = NEW."User-Name" AND
   "Realm" = NEW."Realm" AND
   "Called-Station-Id" = NEW."Called-Station-Id" AND
   "Calling-Station-Id" = NEW."Calling-Station-Id" AND
   "Service-Type" = NEW."Service-Type" AND
   "Framed-Protocol" = NEW."Framed-Protocol" AND
   "Client-IP-Address" = NEW."Client-IP-Address" AND
   "NAS-IP-Address" = NEW."NAS-IP-Address" AND
   "NAS-Port-Type" = NEW."NAS-Port-Type" AND
   "NAS-Port-Id" = NEW."NAS-Port-Id" AND
   "Acct-Session-Id" = NEW."Acct-Session-Id"
  )
DO
 INSTEAD
  INSERT
   INTO
    dups_2003may
  VALUES
   (
   NEW."Time-Stamp",
   NEW."Acct-Status-Type",
   NEW."User-Name",
   NEW."User-Realm",
   NEW."Realm",
   NEW."Acct-Session-Time",
   NEW."Acct-Input-Octets",
   NEW."Acct-Output-Octets",
   NEW."Called-Station-Id",
   NEW."Calling-Station-Id",
   NEW."Acct-Terminate-Cause",
   NEW."Framed-IP-Address",
   NEW."Service-Type",
   NEW."Framed-Protocol",
   NEW."Client-IP-Address",
   NEW."NAS-IP-Address",
   NEW."NAS-Port-Type",
   NEW."NAS-Port-Id",
   NEW."Timestamp",
   NEW."Acct-Session-Id",
   NEW."Acct-Link-Count",
   NEW."Acct-Multi-Session-Id",
   NEW."Acct-Delay-Time"
   )
;

What I wanted was that when data is inserted into detail_2003may then :

If a similar record exists then only insert the data into dups_2003may,
otherwise only insert the "uniq" data into detail_2003may.

What is happening is that all data is being put into dups_2003may, and
only records with "uniq" data is being put into detail_2003may.

Is there a way to do what I wanted?

Guy





view thread (2+ messages)  latest in thread

Message-ID: <3EC2BF0F.1070709@incentre.net>
Permalink:  ../3EC2BF0F.1070709@incentre.net/
Also on:    postgresql.org/message-id/3EC2BF0F.1070709@incentre.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: guy@incentre.net
  Subject: Re: I need help with a rule to relocate duplicate records
  In-Reply-To: <3EC2BF0F.1070709@incentre.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox