Sei sulla pagina 1di 2

Comandos para bases de datos

Creacion de un table Space (Tabla)


create tablespace ulises datafile 'E:/Sexto Semestre (Septiembre 2019 - Enero
2020)/Bases De Datos II/XE/ulises.dbf' size 1500m;
create tablespace ulisesidx datafile 'E:/Sexto Semestre (Septiembre 2019 -
Enero 2020)/Bases De Datos II/XE/ulisesidx.dbf' size 750m;

create user des_ulises identified by des_ulises


default tablespace ulises;
grant connect, resource to des_ulises;
grant create any view to DES_ULISES;

>>>Sentencia para crear una tabla


create table movimientos (
id integer not null primary key,
origen integer not null,
destino integer not null,
monto number (12,2) not null
);

>>>Creacion de una secuencia, en vez de autoincremto


create sequence seq_movimientos start with 1 increment by 1;

>>>Triggerrs, es un disparador
create trigger trg_grandes_movimientos
{before|after} {insert|update|delete} on <grandes_movimientos>
for each row
when (new.monto>100000)
begin
insert into grandes_movimientos values(:new.id, :new.origen,
:new.destino, :new.monto);
end;
:::::para crear triggers

create trigger trg_grandes_movimientos


after insert on grandes_movimientos
for each row
when (new.monto>100000)
begin
insert into grandes_movimientos values(:new.id, :new.origen,
:new.destino, :new.monto);
end;

>>>Duplicar una tabla


create table grandes_movimientos as (select * from movimientos where 0=1);

>>>>>> los procedures en oracle


::::paquete::::
CREATE OR REPLACE PACKAGE DES_FACTURACION.PKG_PAQUETE2 AS
TYPE DNCURSOR IS REF CURSOR;
PROCEDURE SP_UPDATE(
I_CLI_ID IN INTEGER,
I_CLI_NOMBRE IN VARCHAR2,
I_CLI_CEDULA IN VARCHAR2,
I_CLI_ESTADO IN INTEGER,
I_CLI_FECHA IN DATE,
I_CLI_NOTA IN NUMBER,
O_CURSOR IN OUT DNCURSOR
);
PROCEDURE SP_SELECT_COUNT(
I_CLI_NOTA IN NUMBER,
O_CURSOR IN OUT DNCURSOR
);
END PKG_PAQUETE2;
::::body:::
CREATE OR REPLACE PACKAGE BODY DES_FACTURACION.PKG_PAQUETE2 AS
PROCEDURE SP_UPDATE(
I_CLI_ID IN INTEGER,
I_CLI_NOMBRE IN VARCHAR2,
I_CLI_CEDULA IN VARCHAR2,
I_CLI_ESTADO IN INTEGER,
I_CLI_FECHA IN DATE,
I_CLI_NOTA IN NUMBER,
O_CURSOR IN OUT DNCURSOR
)
IS
BEGIN
UPDATE DES_FACTURACION.tbl_cliente
SET
CLI_ID = I_CLI_ID ,
CLI_NOMBRE= I_CLI_NOMBRE,
CLI_CEDULA = I_CLI_CEDULA ,
CLI_ESTADO =I_CLI_ESTADO,
CLI_FECHA =I_CLI_FECHA,
CLI_NOTA =I_CLI_NOTA
WHERE CLI_CEDULA=I_CLI_CEDULA;
END SP_UPDATE;

PROCEDURE SP_SELECT_COUNT
(
I_CLI_NOTA IN NUMBER,
O_CURSOR IN OUT DNCURSOR
)IS
BEGIN
OPEN O_CURSOR FOR
SELECT COUNT(CLI_ID) FROM TBL_CLIENTE WHERE CLI_NOTA=12;
COMMIT;
END SP_SELECT_COUNT;

END PKG_PAQUETE2;

Potrebbero piacerti anche