Re: Inserting data in composite types!
| От | Shane Ambler |
|---|---|
| Тема | Re: Inserting data in composite types! |
| Дата | |
| Msg-id | 45586916.2040209@007Marketing.com обсуждение исходный текст |
| Ответ на | Inserting data in composite types! ("Rodrigo Sakai" <rodrigo.sakai@zanthus.com.br>) |
| Список | pgsql-sql |
Rodrigo Sakai wrote: > Hi, I have a question about how to insert data in composite types! > > > > Imagine the exemple: > > > > CREATE TYPE t_time AS ( > > a date, > > b date > > ); > > > > CREATE TABLE salary ( > > salary numeric(10,2), > > t_date t_time > > ); > > > > I know that if I want to insert data in the table SALARY I just have to do > like: > > > > INSERT INTO salary VALUES (1000.00, '(2006/10/10, 2006/12/10)'); > > > > But if I have another table: > > > > CREATE TABLE employee ( > > employee_id int, > > name varchar(30), > > emp_salary salary > > ) I am thinking that with the salary type here you are thinking of your salary table defined above? If so and you want them in a separate table to record salary histories then you want to create a foreign key to link them. You would end up with - CREATE TABLE employee ( employee_id int PRIMARY KEY, name varchar(30) ); CREATE TABLE salary ( emp_id int REFERENCES employee(employee_id) ON DELETE CASCADE, salary numeric(10,2), t_date t_time ); then - INSERT INTO salary VALUES (1, 1000.00, '(2006/10/10, 2006/12/10)'); Otherwise you will want to change the CREATE TABLE salary... to CREATE TYPE salary... Probably as CREATE TYPE salary AS( salary numeric(10,2), a date, b date ); You can then INSERT INTO employee VALUES (1,'Hard Worker','(1000.00, 2006/10/10, 2006/12/10)'); -- Shane Ambler pgSQL@007Marketing.com Get Sheeky @ http://Sheeky.Biz
В списке pgsql-sql по дате отправления: