From: | "Rodrigo Sakai" <rodrigo(dot)sakai(at)zanthus(dot)com(dot)br> |
---|---|
To: | "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | <pgsql-interfaces(at)postgresql(dot)org> |
Subject: | RES: Creating a new type |
Date: | 2006-06-29 12:38:17 |
Message-ID: | 000001c69b78$e5cfcee0$4700a8c0@TREEZANTHUS |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
Ok, let me explain better! In my table example I will store datas like
Emp_id
emp_name
salary
emp_time
1
Rodrigo
1,200.00
(2006-jan-01, 2006-jun-01)
1
Rodrigo
2,100.00
(2006-mar-01, 2006-sep-01)
Considering the overlaps of emp_time and this question: what is the salary
of employee Rodrigo on 2006-apr-01 ??? This data is inconsistent because the
overlaps of time!
So, I have to guarantee that this situation doesn't occur! But I don't
want to use triggers because this check must be done on almost all tables
that uses the type:
CREATE TYPE time_interval (
Tbegin date,
Tend date
)
And be easy to the user. For example, any table that is created using this
type garantees that the overlaps will not occur! To do this I have to get
access for the past data of the table, and so, I have to know wich table is
using the type and have data being inserted!
Is that a way of doing this?
-----Mensagem original-----
De: pgsql-interfaces-owner(at)postgresql(dot)org
[mailto:pgsql-interfaces-owner(at)postgresql(dot)org] Em nome de Tom Lane
Enviada em: quarta-feira, 28 de junho de 2006 12:00
Para: rodrigo(dot)sakai(at)zanthus(dot)com(dot)br
Cc: pgsql-interfaces(at)postgresql(dot)org
Assunto: Re: [INTERFACES] Creating a new type
"Rodrigo Sakai" <rodrigo(dot)sakai(at)zanthus(dot)com(dot)br> writes:
> So, when I execute an INSERT operation on this table, the functions that
> deals with this type need the id or name of the table that the data was
> inserted!
Why? Your example datatype doesn't seem to require any such thing.
> How can I get this ID or NAME inside this functions???
You can't. The question itself is bogus because it assumes that data
values only exist within tables. You could not have a transient value
of the datatype (eg, a function result) because that is not stored in
any table.
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-06-29 13:47:00 | Re: RES: Creating a new type |
Previous Message | Francisco Figueiredo Jr. | 2006-06-28 19:05:29 | Re: Npgsql MS 2.0 - char bug? |