ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Cree un procedimiento que utilizando variables de tipo registro muestre todos los datos de los clientes

angel1032Práctica o problema19 de Noviembre de 2015

285 Palabras (2 Páginas)273 Visitas

Página 1 de 2

2- Cree un procedimiento que utilizando variables de tipo registro muestre todos los datos de los clientes.

CURSOR c_cliente IS

SELECT * FROM CLIENTE

BEGIN

FOR v_cliente IN c_cliente

LOOP

Dbms_output.put_line(v_cliente.NOMBRE || ‘ ‘ || v_cliente.DIRECCION || ‘ ‘ || v_cliente.TELEFONO ‘ ‘ || v_cliente.ACTIVO);

END LOOP;

CLOSE c_cliente;

END;

3- A) Cree otro procedimiento que sólo muestre aquellos clientes activos.

CURSOR c_cliente IS

SELECT * FROM CLIENTE

BEGIN

FOR v_cliente IN c_cliente LOOP

IF v_cliente.ACTIVO = ‘VERDADERO’ THEN

Dbms_output.put_line(v_cliente.NOMBRE || ‘ ‘ || v_cliente.DIRECCION || ‘ ‘ || v_cliente.TELEFONO || ‘ ‘ || v_cliente.ACTIVO);

END IF

END LOOP;

CLOSE c_cliente;

END;

3- B) ¿Se podría utilizar en algún punto el atributo %TYPE? En caso afirmativo transforme el procedimiento para utilizarlo

CURSOR c_cliente IS

SELECT * FROM CLIENTE

Constante CONSTANT CLIENTE.ACTIVO%TYPE := ‘VERDADERO’;

BEGIN

FOR v_cliente IN c_cliente LOOP

IF v_cliente.ACTIVO = Constante THEN

Dbms_output.put_line(v_cliente.NOMBRE || ‘ ‘ || v_cliente.DIRECCION || ‘ ‘ || v_cliente.TELEFONO || ‘ ‘ || v_cliente.ACTIVO);

END IF

END LOOP;

CLOSE c_cliente;

END;

4- Cree otro procedimiento que pida los datos de usuario necesarios para insertar un cliente nuevo.

DECLARE

NOM CLIENTE.NOMBRE%TYPE := ‘&NOMBRE’;

DIR CLIENTE.DIRECCION%TYPE := ‘&DIRECCION’;

TLF CLIENTE.TELEFONO%TYPE := ‘&TELEFONO’;

ACT CLIENTE.ACTIVO%TYPE := ‘&ACTIVO’;

BEGIN

INSERT INTO CLIENTE (NOMBRE,DIRECCION,TELEFONO,ACTIVO) VALUES (NOM,DIR,TLF,ACT);

END;

5- Crear un procedimiento para que a la columna teléfono, de la tabla creada anteriormente, separe cada tres cifras con un guión (ej. 957585586 por 957-585-586).

CREATE O REMPLACE PROCEDURE modificar_telefono IS

CURSOR c_telefono IS

SELECT NOMBRE, DIRECCION, TELEFONO, ACTIVO FROM CLIENTE

FOR UPDATE

BEGIN

FOR v_cliente IN c_telefono

LOOP

IF (INSTR (c_telefono, ‘-‘) = 0) THEN

UPDATE c_telefono SET TELEFONO = (substr(c_telefono,1,3) || ‘-‘ || substr(c_telefono,4,3) || ‘-‘ || substr(c_telefono,7,3) )

WHERE CURRENT OF c_telefono;

END IF;

END LOOP;

CLOSE c_telefono;

END;

3- Cree un procedimiento que utilizando variables de tipo registro muestre todos los datos de los clientes.

CURSOR c_cliente IS

SELECT * FROM CLIENTE

BEGIN

FOR v_cliente IN c_cliente

LOOP

Dbms_output.put_line(v_cliente.NOMBRE || ‘ ‘ || v_cliente.DIRECCION || ‘ ‘ || v_cliente.TELEFONO ‘ ‘ || v_cliente.ACTIVO);

END LOOP;

CLOSE c_cliente;

END;

...

Descargar como (para miembros actualizados) txt (3 Kb) pdf (33 Kb) docx (10 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com