0% encontró este documento útil (0 votos)
25 vistas4 páginas

PL SQL

El documento describe ejemplos de uso de PL/SQL para mostrar mensajes, declarar variables, realizar cálculos matemáticos, usar sentencias SELECT, estructuras de selección, bucles, y borrar registros de una tabla.

Cargado por

aasix23apuerta
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas4 páginas

PL SQL

El documento describe ejemplos de uso de PL/SQL para mostrar mensajes, declarar variables, realizar cálculos matemáticos, usar sentencias SELECT, estructuras de selección, bucles, y borrar registros de una tabla.

Cargado por

aasix23apuerta
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

[OPCIONAL]

Mostrar mensaje por Pantalla:


DECLARE

BEGIN

DBMS_OUTPUT.PUT_LINE(‘Hola Mundo’); – Con retorno de carro

END;

Declarar Variables:
DECLARE

Nombre_variable VARCHAR2(200) := ‘Mensaje’ (INTEGER, STRING….)

(Variables chocan con tablas, poner una sigla y luego nombre v_nombre)

BEGIN

DBMS_OUTPUT.PUT_LINE(Nombre_variable);

Concatenar Strings o Varchar:


DECLARE

Nombre_variable1 VARCHAR2(200) := ‘Mensaje’ (INTEGER, STRING….)

Nombre_variable2 VARCHAR2(200) := ‘Mensaje’ (INTEGER, STRING….)

BEGIN

DBMS_OUTPUT.PUT_LINE(Nombre_variable1 || ‘ ‘ || Nombre_variable2);

END;

Calculos Matematicos:
DECLARE

PI CONSTANT REAL := 3.14159;

Circumferencia REAL;

Area REAL;

Radio REAL := &Radio; (Para escribir por teclado)

BEGIN

Circumferencia := PI * Radio * 2.0;

Area := PI * Radio ** 2; (Elevar)

DBMS_OUTPUT.PUT_LINE(‘ Radi = ‘ || TO_CHAR (Radio) || ‘, Circumferencia = ‘ || TO_CHAR


(Circumferencia) || ‘, Area = ‘ || TO_CHAR (Area));

END;
[OPCIONAL]

Sentencias Select:
DECLARE

V_Salario NUMBER emple.salario%TYPE; (Es para que sea del mismo tipo que la columna )

V_Apellido VARCHAR2(50);

V_Num_Emp NUMBER := &codigo_empleado

BEGIN

SELECT apellido, salario INTO V_Apellido, V_Salario

FROM emple

WHERE V_Num_Emp = emp_no

DBMS_OUTPUT.PUT_LINE(‘El Empleado numero: ‘ || V_Num_Emp || ‘Tiene por sueldo ‘ ||


V_Salario || ‘y por apellido: ‘ || V_Apellido);

EXCEPTIONS

WHEN NO_DATA_FOUND THEN

DBMS_OUTPUT.PUT_LINE(‘No Existe un trabajador con el codigo’);

WHEN TOO_MANY_ROWS THEN

DBMS_OUTPUT.PUT_LINE(‘No se ha podido resolver a que empleado se refiere’);

END;

Estructuras de Seleccion:
DECLARE

V_Emp_No emple.emp_no%TYPE := &p_num_emp

V_Comision emple.comision%TYPE

V_Nueva_Comision emple.comision%TYPE := &p_nova_comision

BEGIN

SELECT comisión INTO V_Comision;

FROM emple;

WHERE emp_no = V_Emp_No;

IF V_Comision IS NULL THEN

DBMS_OUTPUT.PUT_LINE(‘Atencion Comision Anterior Nula’);

END IF;

UPDTAE emple SET commission = V_Nueva_Comision

WHERE emp_no = V_Emp_No


[OPCIONAL]

COMMIT;

EXCEPTION

WHEN NO_DATA_FOUND THEN

DBMS_OUTPUT.PUT_LINE(‘No Existe un trabajador con el codigo’);

Variable de Tabla:
DECLARE

V_Depart depart%ROWTYPE

BEGIN

SELECT depart,* INTO V_Depart

FROM depart, emple

WHERE emple.dept_no = depart.dept_no AND emple.emp_no = V_Emp_NO

DBMS_OUTPUT.PUT_LINE(‘Numero de Departamento =’ || v_depart.dept_no);

Variable Para Saber si Algo se Cumple:


DECLARE

Existe Number;

BEGIN

SELECT COUNT (emp_no) INTO Existe

FROM emple

WHERE V_Emp_NO = emp_no

IF (Existe = 1) THEN

(Sentencia)

ELSE

(Sentencia)

END IF;

END;
[OPCIONAL]

Bucles Do While:
V_Contador INTEGER := 0;

BEGIN

LOOP

V_Contador := V_Contador + 1;

IF (V_Contador = 10) THEN EXIT

END IF;

END LOOP;

END;

Bucles While:
V_Contador INTEGER := 0;

BEGIN

WHILE (V_Contador < 10) LOOP

V_Contador := V_Contador + 1;

END LOOP;

END;

Programa Para Borrar una Departamento:


DECLARE

V_Dept_Nom DEPAR.DEPT_NO%TYPE := &P_Depart;

V_Nom DEPART.DNOMBRE%TYPE

BEGIN

DELETE FROM depart WHERE dept_no = v=dept_no RETURNING dnombre INTO v_nom;

(RETOURNING nombre_Columna INTO Variable) (Esto es para saber que nombre hemos
borrado)

IF (SQL%ROWCOUNT <> 0) THEN (Para saber si se han borrado realmente)

DBMS_OUTPUT.PUT_LINE(‘Has Borrado el Departamento ‘ || V_Dept_No || ‘Que tiene como


nombre ‘ || V_Nom);

ELSE

DBMS_OUTPUT.PUT_LINE(‘Atencion no se ha borrado nada porque no existe el departamento);

END IF;

END;

También podría gustarte