Thread: Inserting data in composite types
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
)
How can I insert a single row in this table???
Thanks in advamce!
> Hi, I have a question about how to insert data in composite types! > > 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 > ) > > How can I insert a single row in this table??? INSERT INTO employee VALUES (1, 'Albe', (10000.0, ('2006-01-01', '2006-12-31'))); Yours, Laurenz Albe
On Mon, 2006-11-13 at 09:37 -0300, 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 > > ) > > > > How can I insert a single row in this table??? > > insert into employee values(1,'name',(1000, ('2006/10/10','2006/10/10'))); Regards, Jeff Davis