A continuación vamos a ver algunos ejemplos básicos de creación de tablas en Oracle como así también la generación de PK, FK y secuencias:
Requisitos previos
Tener instalado y levantado una base de datos Oracle.
Usuario / password de base de datos
- prueba / prueba
Comandos para crear el usuario y password en la BD, necesarios para este tutorial:
- drop user prueba cascade;
- create user prueba identified by prueba ;
- grant DBA to prueba;
Ejemplos
A continuación crearemos un par de tablas con PKs, PK compuesta, FKs y un sequence.
create table USUARIOS(
nombre varchar2(30),
clave varchar2(10)
);
select * from usuarios;
drop table usuarios;
select * from all_tables
CREATE TABLE supplier (
supplier_id numeric(10) not null,
supplier_name varchar2(50) not null,
contact_name varchar2(50),
CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
);
CREATE TABLE products (
product_id numeric(10) not null,
supplier_id numeric(10) not null,
CONSTRAINT fk_supplier FOREIGN KEY (supplier_id) REFERENCES supplier(supplier_id)
);
create table employee_history(
employee_id number(6) not null,
salary number(8,2),
hire_date date default sysdate,
termination_date date,
termination_desc varchar2(4000),
constraint emphistory_pk
primary key (employee_id, hire_date)
);
CREATE SEQUENCE test_sequence
START WITH 1
INCREMENT BY 1;
INSERT INTO SUPPLIER(SUPPLIER_ID, SUPPLIER_NAME, CONTACT_NAME)
VALUES(test_sequence.nextval, 'nombre2', 'contacto2');
select * from SUPPLIER
SUPPLIER_ID SUPPLIER_NAME CONTACT_NAME
-------------- ---------------- ---------------
1 nombre1 contacto1
2 nombre2 contacto2
Trigger definition:
CREATE OR REPLACE TRIGGER dept_bir
BEFORE INSERT ON departments
FOR EACH ROW
BEGIN
SELECT dept_seq.NEXTVAL
INTO :new.id
FROM dual;
END;
No hay comentarios:
Publicar un comentario