Clase 10 de Junio - AGMadera/BasedeDatos2 GitHub Wiki
//////////////////CLASE 10 DE JUNIO
///////////////////////////
CREATE TABLE USUARIO1 (ID_USUARIO1 INTEGER,
NOMBRE VARCHAR2(120),
EMAIL VARCHAR2(90), SUELDO_BASE FLOAT,
CONSTRAINT ID_USUARIO1_PK PRIMARY KEY(ID_USUARIO1));
///////////////////////////
create sequence sec_usuario1
start with 1
increment by 1
nomaxvalue;
//////////////////////////
create or replace PROCEDURE GUARDAR_USUARIO1(
MY_ID_USUARIO1 OUT INTEGER, MY_NOMBRE IN VARCHAR2,
MY_EMAIL IN VARCHAR2, MY_SUELDO_BASE IN FLOAT)
AS
BEGIN
SELECT SEC_USUARIO1.NEXTVAL INTO MY_ID_USUARIO1 FROM DUAL;
INSERT INTO USUARIO1 VALUES(MY_ID_USUARIO1, MY_NOMBRE,
MY_EMAIL, MY_SUELDO_BASE);
END;
/////////////////////////
DECLARE
MY_ID INTEGER;
BEGIN
GUARDAR_USUARIO1(MY_ID,'CHANA','[email protected]',6000);
GUARDAR_USUARIO1(MY_ID,'PANCRACIO','[email protected]',5000);
GUARDAR_USUARIO1(MY_ID,'PETRONILA','[email protected]',8000);
END;
/
////////////////////////CURSORES
SET SERVEROUTPUT ON;
DECLARE
ALGO VARCHAR2 (120);
BEGIN
DBMS_OUTPUT.PUT_LINE('Probaremos un cursor implicito');
--cursor implicito
SELECT NOMBRE INTO ALGO FROM USUARIO1 WHERE ID_USUARIO1=1;
DBMS_OUTPUT.PUT_LINE('EN LA MEMORIA GLOBAL ESTA '||ALGO);
END;
/
//////////////////////
DECLARE
CURSOR CUR_USUARIO1 IS SELECT * FROM USUARIO1;
BEGIN
FOR REC_USUARIO IN CUR_USUARIO1 LOOP
DBMS_OUTPUT.PUT_LINE('EN ESTE MOMENTO ESTA EN MEMORIA: '||REC_USUARIO.NOMBRE);
END LOOP;
END;
/