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;