oracle sql create table
/*Deleting whole table with data */
DROP TABLE vehicles;
DROP TABLE owners;
/*First create only this table */
CREATE TABLE owners (
owner_id NUMBER,
first_name VARCHAR2(50 CHAR) NOT NULL,
CONSTRAINT owners_pk PRIMARY KEY(owner_id)
);
/* One owner got many vehicles, one to many relation
or one vehicle got many owners */
CREATE TABLE vehicles (
vehicle_id NUMBER,
vehicle_name VARCHAR2(50 CHAR) NOT NULL,
/* CONSTRAINT vehicle_pk PRIMARY KEY(vehicle_id) --If we had made PRIMARY KEY here it will be one to one relation */
CONSTRAINT vehicle_owner_fk FOREIGN KEY(vehicle_id) REFERENCES owners(owner_id) ON DELETE SET NULL
);
INSERT INTO owners VALUES(1, 'Abbi');
INSERT INTO owners VALUES(2, 'Beatrix');
INSERT INTO owners VALUES(3, 'Caila');
INSERT INTO owners VALUES(4, 'Dea');
INSERT INTO owners VALUES(5, 'Elise');
INSERT INTO vehicles VALUES(1, 'car');
INSERT INTO vehicles VALUES(2, 'motorcycle');
INSERT INTO vehicles VALUES(3, 'airplane1');
INSERT INTO vehicles VALUES(4, 'airplane1');
INSERT INTO vehicles VALUES(4, 'steamer');
INSERT INTO vehicles VALUES(4, 'submarine');
COMMIT;
DELETE FROM projects WHERE vehicle_id = 4 AND vehicle_name = 'submarine';
/*
Sometimes Oracle SQL Dev don't like this sign ';',
Primary Key is always NOT NULL UNIQUE,
single PK PRIMARY KEY(user_id), allowed combination:
(1,1) for example (user_id, project_id)
(2,1)
(3,1)
(4,2)
*/
-- one line comment