Вы находитесь на странице: 1из 17

Base de Datos II

Docente: Ing. Lidia Quionez


Contenido

1 %ROWTYPE

2 Concatenar (||)

3 Practica
2
4
%TYPE and %ROWTYPE

Usando los atributos %TYPE y %ROWTYPE, es posible declarar


variables con el mismo tipo de dato o estructura de otro item de la base
de datos (por ejemplo, un campo de una tabla).
%TYPE Proporciona el tipo de dato de una variable o una columna. Se
puede utilizar para declarar variables que almacenen valores de bases
de datos.

Por ejemplo, supongamos que se tiene una columna llamada user_id en


la tabla users. Para declarar una variable con el mismo tipo de dato
usado en nuestra tabla de usuarios, seria :
user_id users.user_id%TYPE;
Al usar %TYPE puede despreocuparse de los cambios futuros en la
definicin de la tabla.
nombre tabla%ROWTYPE Declara la estructura de la tabla especificada,
puede ser una tabla o una vista que exista en la base de datos.
%ROWTYPE
Es lo mismo que %TYPE pero en este caso sirve
para declarar que una variable es igual que una
lnea de una tabla. O sea, que la variable contiene
tantos campos y del mismo tipo que una tabla.
Adems de estar seguro de no tener problemas
de tipos distintos entre el origen de los datos y el
registro.
%ROWTYPE
Los parmetros de una funcin pueden ser de tipo compuesto
(renglones completos de una tabla). Es este caso, el identificador
correspondiente $n ser del tipo rowtype.

Solamente los atributos de la tabla pueden ser accesibles en el rengln,


ni los OID ni otros atributos del sistema (debido a que el rengln puede
ser de una vista).
Los campos de un rowtype heredan los tamaos
de los campos o la precisin de los tipos de dato para char(),
numeric,etc.

DECLARE
users_rec users%ROWTYPE;
Ejemplo
Ejemplo
Concater (||)

Ejemplos

SELECT (nombre || ' ' || apellido) AS Nombre_Completo FROM


Personales;

variable:=( 'PRIMERA'||'-'||mes);
variable:=( 'PRIMERA'||'-'||mes ||'-'||dia);
Concater ||
tipo de dato creado para
retorno de funciones
Concater ||
Concater ||
Ejercicios: Crear una BD con el
nombre de consultorio
1. Crear un tipo de dato con el nombre de generopersona con stos valores:
MACULINO,FEMENINO. Utilizar el dato creado en la tabla paciente y
medico.
2. Crear una funcin para calcular el mximo+1 de cualquier tabla.
3. Realizar una funcin que permita agregar y modificar datos en la tabla
paciente. Utilizar la funcin del mximo para el campo cdigo
4. Crear un tipo de dato para retornos de funciones, el mismo debe tener el
nombre de datoreferencial con (Codigo y Nombre).
5. Crear una funcin que permita obtener todos los datos de la tabla
especialidad ordenada por descripcin. Utilizar el tipo creado para el
retorno.
6. Realizar una funcin que devuelva los datos de la tabla medico_espec
mostrar los datos del mdico(CI, Nombre y Apellido,Telefono) y la
especialidad.
7. Crear una funcin que permita agregar, modificar y borrar datos de
la agenda medica.

8. Crear una funcin que permita agregar y cancelar reservas a


pacientes, el mismo debe verificar lo siguiente al agregar;
a. La fecha de reserva debe coincidir con el da de la agenda mdica.
b. La cantidad de reserva no puede superar a la cantidad mxima de
paciente definida en la agenda medica
c. Si es la primera reserva en el da en un determinado turno, la
funcin debe tomar la hora de inicio de la agenda e ir calculando las
dems posibles horas de consulta teniendo en cuenta 20 minutos por
paciente.
9. Realizar una funcin que permita mostrar datos de los mdicos y
pacientes recibiendo solo como parmetro de entrada el nombre de la
tabla. Los datos a mostrar: NOMBRE,APELLIDO,DIRECCION Y
TELEFONO

10 Crear la siguiente funcin sp_calculocuota y probar la misma.


11. Modificar la funcin sp_calculocuota , el mismo debe tomar la
fecha ingresada como un primer registro y luego generar los siguientes
meses .

Вам также может понравиться