price number(9,2) -- valid numbers are 1, 234, 1234567.23, but not 12345678 id number(3) -- any integer with 3 digits of precision
| Alternative Data Types | Oracle Equivalent Data Type |
|---|---|
| numeric(precision, scale) | number(precision, scale) |
| decimal(precision, scale) | number(precision, scale) |
| integer | number(38) |
| int | number(38) |
| smallint | number(38) |
| float(b) | number |
| double precision | number |
| real | number |
| Alternative Data Types | Oracle Equivalent Data Type |
|---|---|
| character(size) | char(size) |
| char(size) | char(size) |
| character varying(size) | varchar2(size) |
| char varying(size) | varchar2(size) |
| national character(size) | nchar(size) |
| national char(size) | nchar(size) |
| nchar(size) | nchar(size) |
| national character varying(size) | nvarchar2(size) |
| national char(size) | nvarchar2(size) |
| nchar varying(size) | nvarchar2(size) |
create table TROUBLE (
City varchar2(13) not null,
SampleData date not null,
Noon number(4,1),
Midnight number(4,1),
constraint TROUBLE_UQ unique (City, SampleData)
);
insert into trouble (city, sampledata) values ('St-petersburg', to_date('08-22-2000', 'MM-DD-YYYY'));
insert into trouble (city, sampledata) values ('St-petersburg', to_date('08-22-2000', 'MM-DD-YYYY'));
create table TROUBLE (
City varchar2(13) not null,
SampleData date not null,
Noon number(4,1),
Midnight number(4,1),
constraint TROUBLE_PQ primary key (City, SampleData)
);
insert into trouble (city, sampledata) values ('St-petersburg', to_date('08-22-2000', 'MM-DD-YYYY'));
insert into trouble (city, sampledata) values ('St-petersburg', to_date('08-22-2000', 'MM-DD-YYYY'));
create table lodging (
lodg varchar2(15) not null,
somedata number,
constraint LODGING_PK primary key (lodg)
);
create table worker (
name varchar2(25) not null,
age number,
lodging varchar2(15),
constraint worker_PK primary key (name),
foreign key (lodging) references lodging(lodg)
);
insert into lodging values ('log15', 28);
insert into lodging values ('log17', 29);
insert into worker values ('Smith', 25, 'log15');
insert into worker values ('Jhons', 17, 'log17');
select * from lodging;
select * from worker;
delete from lodging where lodg='log15';
B. set null on delete
create table worker (
name varchar2(25) not null,
age number,
lodging varchar2(15),
constraint worker_PK primary key (name),
foreign key (lodging) references lodging(lodg) on delete set null
);
insert into worker values ('Smith', 25, 'log15');
insert into worker values ('Jhons', 17, 'log17');
select * from worker;
delete from lodging where lodg='log15';
select * from worker;
C. cascade on delete
create table worker (
name varchar2(25) not null,
age number,
lodging varchar2(15),
constraint worker_PK primary key (name),
constraint worker_FK foreign key (lodging) references lodging(lodg) on delete cascade
);
insert into worker values ('Smith', 25, 'log15');
insert into worker values ('Jhons', 17, 'log17');
delete from lodging where lodg='log15';
select * from worker;
create table worker ( name varchar2(25) not null, age number check (age between 18 and 65), lodging varchar2(15), constraint worker_PK primary key (name), constraint worker_FK foreign key (lodging) references lodging(lodg) on delete cascade );or
create table worker (
name varchar2(25) not null,
age number,
lodging varchar2(15),
constraint worker_PK primary key (name),
constraint worker_FK foreign key (lodging) references lodging(lodg) on delete cascade,
constraint worker_age check (age between 18 and 65)
);
insert into worker values ('Smith', 25, 'log15');
insert into worker values ('Jhons', 17, 'log17');
insert into worker values ('Jhons', 17, 'log17')
B. Check constraints applied to several columns
create table quantity ( min number not null, max number not null, /* constraints */ constraint Quantity_minmax check (max>min) ); insert into quantity values (12, 15); insert into quantity values (15, 12);