Todos los comandos hasta 30 05 15 - AGMadera/BasedeDatos2 GitHub Wiki

begin

--El primer programa PL sql (procedental language SQL)

dbms_output.put_line('Mi primer programita');

end;

/

///////////////////////////////////SEGUNDO CODIGO EN PL/SQL

DECLARE

edad integer;

dias INTEGER;

BEGIN

DBMS_OUTPUT.PUT_LINE('BIENVENIDO MIJO(A)');

edad:=22;

dias:=edad*365;

DBMS_OUTPUT.PUT_LINE('TU EDAD EN DIAS ES '||DIAS);

END;

/

///////////////////////////////////TERCER CODIGO EN PL/SQL

CREATE TABLE DANCE (ID_DANCE INTEGER, NOMBRE VARCHAR2(120), SUELDO FLOAT); 2)

DESCRIBE DANCE

DECLARE

MI_SUELDO FLOAT;

BEGIN

MI_SUELDO:=100;

FOR I IN 1..2000 LOOP

INSERT INTO DANCE VALUES(I, 'ALFONSO', MI_SUELDO);

MI_SUELDO:=MI_SUELDO+5;

END LOOP;

DBMS_OUTPUT.PUT_LINE('CICLO TERMINADO');

END;

/

SELECT * FROM DANCE;

SELECT * FROM DANCE ORDER BY ID_DANCE;

////////////////////////////////////TAREA

///////////PRUEBA CONCEPTUAL

SELECT DBMS_RANDOM.STRING ('A', 5) FROM DUAL;----FUNCIONA

SELECT DBMS_RANDOM.VARCHAR2 ('A', 5) FROM DUAL; ---------NO SIRVE

//////////////////////IDEA1

DECLARE

MI_SUELDO FLOAT;

BEGIN

MI_SUELDO:=100;

FOR I IN 2001..2003 LOOP

INSERT INTO DANCE VALUES(I, DBMS_RANDOM.STRING ('A', 5), MI_SUELDO);

MI_SUELDO:=MI_SUELDO+5;

END LOOP;

DBMS_OUTPUT.PUT_LINE('CICLO TERMINADO');

END;

/

/////////////////////////////////////////////////////////CLASE 30/MAYO

////////°°°°°°°°°°°°°°FORMA CORRECTA DE INSERTAR UN REGISTRO EN ORACLE

///////////////////////////////////////////(1) Crear Tabla

CREATE TABLE USUARIO1(

ID_Usuario1 INTEGER,

NOMBRE VARCHAR2(120),

EMAIL VARCHAR2(50),

SUELDO_BASE FLOAT,

CONSTRAINT PK_ID_Usuario1 primary key (ID_Usuario1));

/////////////////////////////////////////////(2) Crear Secuencia

CREATE SEQUENCE SEC_USUARIO1 START WITH 1

INCREMENT BY 1

NOMAXVALUE;

////////////////////////////////////(3) Asociar la Secuencia Y Generar el Procedimiento

///////my son variables locales, nextval = ultimo val, dual = tabla virutal

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;

/

////////////////////////////////////(4) LLENAR LA TABLA

DECLARE

ALGO INTEGER;

BEGIN

GUARDAR_Usuario1(ALGO, 'ALFONSO','[email protected]', 35000);

END;

/

/////////////////////////////////////(5) Probar

SELECT * FROM USUARIO1;