Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Crea el```f
Sintaxis:
Ejemplo 1
?
1CREATE PROCEDURE NUMEMPDEPT @NDEP SMALLINT
2AS SELECT COUNT(*) AS [NUM EMPLEADOS], DEPT_NO
3FROM EMP
4WHERE DEPT_NO = @NDEP
5GROUP BY DEPT_NO
?
1EXEC NUMEMPDEPT 20
Ejemplo 2
?
1CREATE PROCEDURE BUSCAEMP(
2@NDEP SMALLINT,
3@NOFICIO
AS
NVARCHAR(19))
4SELECT * FROM EMP
5WHERE DEPT_NO = @NDEP
6AND OFICIO = @NOFICIO
7
?
1EXEC BUSCAEMP 20,'Empleado'
Sintaxis:
Donde Valor es el valor que le damos por defecto, este valor puede almacenar comodines
(como % que equivale a *).
Ejemplo 1
?
1CREATE PROCEDURE NUMEMP @NDEPT SMALLINT = 10
2AS
3SELECT DEPT_NO, COUNT(*) AS [NUM EMPLEADOS]
4FROM EMP
5WHERE DEPT_NO = @NDEPT
GROUP BY DEPT_NO
6
?
1EXEC NUMEMP
Ejemplo 2
Debe devolver salario, oficio y comisin y le pasamos el apellido.
?
1CREATE PROCEDURE SALARIOOFICIO @PAPELLIDO VARCHAR(20) = 'REY' AS
2SELECT OFICIO, SALARIO, COMISION FROM EMP WHERE APELLIDO = @PAPELLIDO
?
1EXEC SALARIOOFICIO 'GARCIA'
Sacara el salario, el oficio y la comisin de todos los que tengan apellido Garcia, sino
pusisemos parmetro, por defecto sacara los que tuviesen apellido Rey.
Ejemplo 3
?
1CREATE PROCEDURE SALARIOOFICIOLIKE(
2@PAPELLIDO VARCHAR(20) = 'REY' )
3AS
4SELECT OFICIO, SALARIO, COMISION
5FROM EMP
WHERE APELLIDO LIKE '%' + @PAPELLIDO + '%'
6
?
1EXEC SALARIOOFICIOLIKE 's'
Sacara oficio, salario y comisin de los empleados que tuviesen una s en su apellido.
Ejemplo 4
Introducir oficio y salario debe sacar el apellido de los empleados que tengan el mismo
apellido y ganen mas del salario indicado. Debemos hacer que sino introduce nada saque
todos los registros.
?
1CREATE PROCEDURE DOSPARAMETROS2(
2@OFICIO VARCHAR(12) = '%',
@SALARIO VARCHAR(10) = '0' )
3AS
4SELECT APELLIDO FROM EMP WHERE OFICIO LIKE @OFICIO AND SALARIO >
5@SALARIO
?
1EXEC DOSPARAMETROS2 'Empleado',1000
Ejemplo 5
Sacar todos los empleados que se dieron de alta entre una determinada fecha inicial y
fecha final y que pertenecen a un determinado departamento.
?
1
CREATE PROCEDURE TRESPARAMETROS(
2@FINICIAL DATETIME = '01-01-1980',
3@FFINAL SMALLDATETIME = '12-07-2002' ,
4@DEPT_NO NVARCHAR(10) = '%'
5)
6AS
SELECT * FROM EMP WHERE FECHA_ALT BETWEEN @FINICIAL AND @FFINAL
7AND CAST(DEPT_NO AS VARCHAR(10)) LIKE @DEPT_NO
8
?
1EXEC TRESPARAMETROS '01-01-1980','12-07-2002','30'
Ejemplo 6
Crear procedimiento que inserte un empleado. Crear otro procedimiento que borre un
empleado que coincida con los parmetros indicados (los parmetros sern todos los
campos de la tabla empleado)
?
1
2
CREATE PROCEDURE [INSERTA EMPLEADO](
3 @EMP_NO INT,
4 @APELLIDO NVARCHAR(20),
5 @OFICIO NVARCHAR(20),
6 @DIR INT,
7 @FECHA_ALT SMALLDATETIME,
@SALARIO INT,
8 @COMISION INT,
9 @DEPT_NO INT)
10AS
11INSERT INTO EMP VALUES
12(@EMP_NO,
@APELLIDO,
13@OFICIO,
14@DIR,
15@FECHA_ALT,
16@SALARIO,
@COMISION,
17@DEPT_NO)
18
19
?
EXEC [INSERTA EMPLEADO]
17855,'ALIAGA','EMPLEADO',7782,'23/05/2015',45000,0,30
?
1 CREATE PROCEDURE [BORRA EMPLEADO](
2 @EMP_NO INT,
@APELLIDO NVARCHAR(20),
3 @OFICIO NVARCHAR(20),
4 @DIR INT,
5 @FECHA_ALT SMALLDATETIME,
6 @SALARIO INT,
7 @COMISION INT,
@DEPT_NO INT
8 )
9 AS
10DELETE FROM EMP WHERE EMP_NO = @EMP_NO
11AND APELLIDO = @APELLIDO
AND OFICIO = @OFICIO
12AND DIR = @DIR
13AND FECHA_ALT = @FECHA_ALT
14AND SALARIO = @SALARIO
15AND COMISION = @COMISION
16AND DEPT_NO = @DEPT_NO
17
18
19
?
EXEC [BORRA EMPLEADO]
17855,'ALIAGA','EMPLEADO',7782,'23/05/2015',45000,0,30
Sintaxis de declaracin
Declare @nombre tipo_dato
Sintaxis
Ejemplo 1:
Ejemplo 2:
MAS EJEMPLOS:
1) Sacar todos los empleados que se dieron de alta entre una determinada fecha inicial y
fecha final y que pertenecen a un determinado departamento.
?
1
CREATE PROCEDURE FECHASDEPT
2@FINICIAL DATETIME,
3@FFINAL SMALLDATETIME ,
4@DEPT_NO NVARCHAR(10)
5AS
6SELECT * FROM EMP WHERE FECHA_ALT BETWEEN @FINICIAL AND @FFINAL
AND DEPT_NO = @DEPT_NO
7
?
1EXEC FECHASDEPT '01/01/1965','01/01/1985',20
?
1 CREATE PROCEDURE INSERTA_EMPLEADO
@EMP_NO INT,
2 @APELLIDO NVARCHAR(20),
3 @OFICIO NVARCHAR(20),
4 @DIR INT,
5 @FECHA_ALT SMALLDATETIME,
@SALARIO INT,
6 @COMISION INT,
7 @DEPT_NO INT
8 AS
9 INSERT INTO EMP VALUES
10(@EMP_NO,
@APELLIDO,
11@OFICIO,
12@DIR,
13@FECHA_ALT,
14@SALARIO,
@COMISION,
15@DEPT_NO)
16
17
18
19
?
EXEC INSERTA_EMPLEADO
17895,'SUAREZ','EMPLEADO',0,'26/05/2015',16000,0,20
?
1CREATE PROCEDURE NUMEMP_DEPT @NDEP SMALLINT
2AS SELECT COUNT(*) AS [NUM EMPLEADOS], DEPT_NO
3FROM EMP
4WHERE DEPT_NO = @NDEP
5GROUP BY DEPT_NO
?
1EXEC NUMEMP_DEPT 30
4) Crear un procedimiento igual que el anterior, pero que recupere tambin las personas
que trabajan en dicho departamento, pasndole como parmetro el nombre.
?
1
2 CREATE PROCEDURE PERSONASDEPT @DEPT NVARCHAR(30)
3 AS
4 SELECT E.DEPT_NO AS [NUMERO DEPT]
5 , D.DNOMBRE AS [NOMBRE], COUNT(*) AS [NUMERO EMPLEADOS]
FROM EMP AS E
6 INNER JOIN DEPT AS D
7 ON E.DEPT_NO = D.DEPT_NO
8 WHERE D.DNOMBRE = @DEPT
9 GROUP BY D.DNOMBRE, E.DEPT_NO
10SELECT E.DEPT_NO AS [N DEPARTAMENTO]
, D.DNOMBRE AS [DEPARTAMENTO]
11, E.APELLIDO, E.SALARIO
12FROM EMP AS E
13INNER JOIN DEPT AS D
14ON E.DEPT_NO = D.DEPT_NO
15WHERE D.DNOMBRE = @DEPT
16
?
1EXEC PERSONASDEPT 'CONTABILIDAD'
?
1CREATE PROCEDURE SALARIO_OFICIO @PAPELLIDO NVARCHAR(20) AS
2SELECT OFICIO, SALARIO, COMISION FROM EMP WHERE APELLIDO = @PAPELLIDO
?
1EXEC SALARIO_OFICIO 'GARCIA'
6) Igual que el anterior, pero si no le pasamos ningn valor, mostrar los datos de todos
los empleados.
?
1CREATE PROCEDURE OFICIOSALARIO @PAPELLIDO NVARCHAR(20) ='%' AS
SELECT OFICIO, SALARIO, COMISION FROM EMP WHERE APELLIDO LIKE
2@PAPELLIDO
?
1EXEC OFICIOSALARIO 'SUAREZ'
?
1CREATE PROCEDURE SALARIO_OFICIOLIKE @PAPELLIDO VARCHAR(20) = 'REY' AS
SELECT OFICIO, SALARIO, COMISION FROM EMP WHERE APELLIDO LIKE '%' +
2@PAPELLIDO + '%'
?
1EXEC SALARIO_OFICIOLIKE 'S'
Ejercicios de procedimientos almacenados en SQL Server - 2 de 2
?
1
2
CREATE PROCEDURE DEPARTAMENTO @DEPT NVARCHAR(30)
3 AS
4 DECLARE @DEPTDEF NVARCHAR(30)
5 SET @DEPTDEF = NULL
6 SELECT @DEPTDEF = DNOMBRE FROM DEPT
WHERE DNOMBRE = @DEPT
7 IF (@DEPTDEF IS NULL)
8 PRINT 'DEPARTAMENTO INTRODUCIDO NO VALIDO: ' + @DEPT
9 ELSE
10BEGIN
11SELECT E.DEPT_NO AS [NUMERO DEPT]
, D.DNOMBRE AS [NOMBRE], COUNT(*) AS [NUMERO EMPLEADOS]
12FROM EMP AS E
13INNER JOIN DEPT AS D
14ON E.DEPT_NO = D.DEPT_NO
15WHERE D.DNOMBRE = @DEPT
16GROUP
END
BY D.DNOMBRE, E.DEPT_NO
17
18
?
1EXEC DEPARTAMENTO 'VENTAS'
9) Crear un procedimiento para devolver un informe sobre los empleados de la plantilla
de un determinado hospital, sala, turno o funcin. El informe mostrar nmero de
empleados, media, suma y un informe personalizado de cada uno que muestre nmero de
empleado, apellido y salario.
?
1 CREATE PROCEDURE EMPPLANTILLA
@VALOR NVARCHAR(30)
2 AS
3 DECLARE @CONSULTA NVARCHAR(30)
4 SELECT @CONSULTA = NOMBRE
5 FROM HOSPITAL
WHERE NOMBRE = @VALOR
6 IF (@CONSULTA IS NULL)
7 BEGIN
8 SELECT @CONSULTA = NOMBRE FROM SALA
9 WHERE NOMBRE = @VALOR
10IF (@CONSULTA IS NULL)
BEGIN
11SELECT @CONSULTA = T FROM PLANTILLA
12WHERE T = @VALOR
13IF (@CONSULTA IS NULL)
14BEGIN
SELECT @CONSULTA = FUNCION FROM PLANTILLA
15WHERE FUNCION = @VALOR
16IF (@CONSULTA IS NULL)
17BEGIN
18PRINT 'EL VALOR INTRODUCIDO NO ES UN
19HOSPITAL, SALA, TURNO O FUNCIN: ' + @VALOR
PRINT 'VERIFIQUE LOS DATOS INTRODUCIDOS'
20END
21ELSE
22BEGIN
23PRINT 'FUNCION'
24SELECT FUNCION AS [TURNO]
,AVG(SALARIO) AS [MEDIA]
25,COUNT(EMPLEADO_NO) AS [N EMPLEADOS]
26,SUM(SALARIO) AS [SUMA] FROM PLANTILLA
27GROUP BY FUNCION
28HAVING FUNCION = @VALOR
SELECT EMPLEADO_NO AS [N EMPLEADO]
29,APELLIDO, SALARIO, FUNCION
30FROM PLANTILLA
31WHERE FUNCION = @VALOR
32END
33END
ELSE
34BEGIN
35PRINT 'TURNO'
36SELECT T AS [TURNO]
37,AVG(SALARIO) AS [MEDIA]
,COUNT(EMPLEADO_NO) AS [N EMPLEADOS]
38,SUM(SALARIO) AS [SUMA] FROM PLANTILLA
39GROUP BY T
40HAVING T = @VALOR
41SELECT T AS [TURNO]
42,EMPLEADO_NO AS [N EMPLEADO]
,APELLIDO, SALARIO
43FROM PLANTILLA
44WHERE T = @VALOR
45END
END
46ELSE
47BEGIN
48PRINT 'SALA'
49SELECT S.NOMBRE AS [SALA]
50,AVG(P.SALARIO) AS [MEDIA]
,COUNT(P.EMPLEADO_NO) AS [N EMPLEADOS]
51,SUM(P.SALARIO) AS [SUMA] FROM PLANTILLA AS P
52INNER JOIN SALA AS S
53ON S.HOSPITAL_COD = P.HOSPITAL_COD
54GROUP BY S.NOMBRE
HAVING S.NOMBRE = @VALOR
55SELECT S.NOMBRE AS [SALA]
56,P.EMPLEADO_NO AS [N EMPLEADO]
57,P.APELLIDO, P.SALARIO
58FROM PLANTILLA AS P
59INNER JOIN SALA AS S
ON S.HOSPITAL_COD = P.HOSPITAL_COD
60WHERE S.NOMBRE = @VALOR
61END
62END
63ELSE
BEGIN
64PRINT 'HOSPITAL'
65SELECT H.NOMBRE AS [HOSPITAL]
66,AVG(P.SALARIO) AS [MEDIA]
67,COUNT(P.EMPLEADO_NO) AS [N EMPLEADOS]
68,SUM(P.SALARIO) AS [SUMA] FROM PLANTILLA AS P
INNER JOIN HOSPITAL AS H
69ON H.HOSPITAL_COD = P.HOSPITAL_COD
70GROUP BY H.NOMBRE
71HAVING H.NOMBRE = @VALOR
72SELECT H.NOMBRE AS [HOSPITAL]
73,P.EMPLEADO_NO AS [N EMPLEADO]
,P.APELLIDO, P.SALARIO
74FROM PLANTILLA AS P
75INNER JOIN HOSPITAL AS H
76ON H.HOSPITAL_COD = P.HOSPITAL_COD
77WHERE H.NOMBRE = @VALOR
END
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
?
1EXEC EMPPLANTILLA 'GENERAL'
?
1 CREATE PROCEDURE JEFES
2 @APE NVARCHAR(30)
3 AS
DECLARE @EMP INT, @JEFE INT, @SUB INT
4 SELECT @EMP = EMP_NO FROM EMP
5 WHERE APELLIDO = @APE
6 IF (@EMP IS NULL)
7 BEGIN
8 PRINT
END
'NO EXISTE NINGUN EMPLEADO CON ESTE APELLIDO: ' + @APE
9 ELSE
10BEGIN
11SELECT @JEFE = A.EMP_NO
12,@SUB = B.EMP_NO
FROM EMP AS A INNER JOIN EMP AS B
13ON A.EMP_NO = B.DIR
14WHERE B.DIR = @EMP
15ORDER BY B.DIR
16IF (@JEFE IS NULL)
17BEGIN
SELECT A.EMP_NO AS [N DE EMPLEADO]
18,A.APELLIDO AS [JEFE], A.OFICIO
19,A.DEPT_NO AS [N DEPARTAMENTO]
20,B.EMP_NO AS [N EMPLEADO]
21,B.APELLIDO AS [SUBORDINADO]
,B.OFICIO
22,B.DEPT_NO AS [N DEPARTAMENTO]
23FROM EMP AS A
24INNER JOIN EMP AS B
25ON B.DIR = A.EMP_NO
26WHERE B.EMP_NO = @EMP
27ORDER BY B.DIR
END
28ELSE
29BEGIN
30SELECT A.EMP_NO AS [N DE EMPLEADO]
31,A.APELLIDO AS [JEFE], A.OFICIO
32,A.DEPT_NO AS [N DEPARTAMENTO]
,B.EMP_NO AS [N EMPLEADO]
33,B.APELLIDO AS [SUBORDINADO]
34,B.OFICIO
35,B.DEPT_NO AS [N DEPARTAMENTO]
36FROM EMP AS A INNER JOIN EMP AS B
ON A.EMP_NO = B.DIR
37WHERE B.DIR = @EMP
38ORDER BY B.DIR
39END
40END
41
42
43
44
45
46
47
48
?
1EXEC JEFES 'GARCIA'
11) Crear procedimiento que borre un empleado que coincida con los parmetros
indicados (los parmetros sern todos los campos de la tabla empleado).
?
1 CREATE PROCEDURE BORRA_EMPLEADO
2 @EMP_NO INT,
3 @APELLIDO NVARCHAR(20),
@OFICIO NVARCHAR(20),
4 @DIR INT,
5 @FECHA_ALT SMALLDATETIME,
6 @SALARIO INT,
7 @COMISION INT,
8 @DEPT_NO INT
AS
9 DELETE FROM EMP WHERE EMP_NO = @EMP_NO
10AND APELLIDO = @APELLIDO
11AND OFICIO = @OFICIO
12AND DIR = @DIR
13AND FECHA_ALT = @FECHA_ALT
14AND SALARIO = @SALARIO
AND COMISION = @COMISION
15AND DEPT_NO = @DEPT_NO
16
17
18
?
1EXEC BORRA_EMPLEADO 7895,'SUAREZ','EMPLEADO',0,'26/05/2015',16000,0,20
?
1 CREATE PROCEDURE BORRAEMPLEADO
2 @EMP_NO INT
,@APELLIDO NVARCHAR(20)
3 ,@OFICIO NVARCHAR(20)
4 ,@DIR INT
5 ,@FECHA_ALT SMALLDATETIME
6 ,@SALARIO INT
7 ,@COMISION INT
,@DEPT_NO INT
8 AS
9 DECLARE @VALOR NVARCHAR(30)
10SELECT @VALOR = EMP_NO
11FROM EMP WHERE EMP_NO = @EMP_NO
AND APELLIDO = @APELLIDO
12AND OFICIO = @OFICIO
13AND DIR = @DIR
14AND FECHA_ALT = @FECHA_ALT
15AND SALARIO = @SALARIO
16AND COMISION = @COMISION
AND DEPT_NO = @DEPT_NO
17IF (@VALOR IS NULL)
18BEGIN
19SELECT @VALOR = EMP_NO FROM EMP WHERE EMP_NO = @EMP_NO
20IF (@VALOR IS NULL)
BEGIN
21PRINT 'EMPLEADO NO EXISTENTE EN LA BASE DE DATOS, VERIFIQUE LOS
22DATOS DEL SR ' + @APELLIDO
23END
24ELSE
25BEGIN
PRINT 'DATOS INTRODUCIDOS ERRONEAMENTE: '
26PRINT CAST(@EMP_NO AS NVARCHAR(4)) + ' ' + @APELLIDO + ' '
27+ @OFICIO + ' ' + CAST(@DIR AS NVARCHAR(4)) + ' '
28+ CAST(@FECHA_ALT AS NVARCHAR(12)) + ' '
29+ CAST(@SALARIO AS NVARCHAR(10)) + ' '
30++ CAST(@COMISION AS NVARCHAR(10)) + ' '
CAST(@DEPT_NO AS NVARCHAR(4))
31SELECT @EMP_NO = EMP_NO, @APELLIDO = APELLIDO
32,@OFICIO = OFICIO, @DIR = DIR
33,@FECHA_ALT = FECHA_ALT, @SALARIO = SALARIO
34,@COMISION = COMISION, @DEPT_NO = DEPT_NO
FROM EMP WHERE EMP_NO = @VALOR
35PRINT 'DATOS REALES DEL EMPLEADO: '
36PRINT CAST(@EMP_NO AS NVARCHAR(4)) + ' ' + @APELLIDO + ' '
37+ @OFICIO + ' ' + CAST(@DIR AS NVARCHAR(4)) + ' '
38+ CAST(@FECHA_ALT AS NVARCHAR(12)) + ' '
39++ CAST(@SALARIO AS NVARCHAR(10)) + ' '
CAST(@COMISION AS NVARCHAR(10)) + ' '
40+ CAST(@DEPT_NO AS NVARCHAR(4))
41END
42END
43ELSE
BEGIN
44DELETE FROM EMP WHERE EMP_NO = @EMP_NO
45AND APELLIDO = @APELLIDO
46AND OFICIO = @OFICIO
47AND DIR = @DIR
48AND FECHA_ALT = @FECHA_ALT
AND SALARIO = @SALARIO
49AND COMISION = @COMISION
50AND DEPT_NO = @DEPT_NO
51END
52
53
54
55
56
57
58
59
60
61
62
?
1EXEC BORRAEMPLEADO 7895,'SUAREZ','EMPLEADO',0,'26/05/2015',16000,0,20
13) Crear un procedimiento para insertar un empleado de la plantilla del Hospital. Para
poder insertar el empleado realizaremos restricciones:
?
1 CREATE PROCEDURE INSERTAR_PLANTILLA
@HOSPITAL NVARCHAR(30)
2 ,@SALA NVARCHAR(30)
3 ,@EMPLEADO INT
4 ,@APELLIDO NVARCHAR(30)
5 ,@FUNCION NVARCHAR(30)
6 ,@TURNO NVARCHAR(2)
,@SALARIO INT
7 AS
8 DECLARE @HOSPITAL2 INT
9 DECLARE @SALA2 INT
1 DECLARE @EMPLEADO2 INT
DECLARE @APELLIDO2 NVARCHAR(30)
0
DECLARE @FUNCION2 NVARCHAR(30)
1 DECLARE @TURNO2 NVARCHAR(2)
1 SELECT @EMPLEADO2 = EMPLEADO_NO FROM PLANTILLA
1 WHERE EMPLEADO_NO = @EMPLEADO
2 IF (@EMPLEADO2 IS NULL)
BEGIN
1 SELECT @SALA2 = SALA_COD FROM SALA
3 WHERE NOMBRE = @SALA
1 SELECT @HOSPITAL2 = HOSPITAL_COD FROM HOSPITAL
4 WHERE NOMBRE = @HOSPITAL
1 IF (@SALA2 IS NULL OR @HOSPITAL2 IS NULL)
BEGIN
5 PRINT 'LA SALA O EL HOSPITAL INTRODUCIDO NO ESTN EN LOS
1 DATOS:'
6 PRINT 'SALA: ' + @SALA
1 PRINT 'HOSPITAL: ' + @HOSPITAL
PRINT ''
7
1 PRINT 'NO SE HA REALIZADO LA INSERCIN'
8 END
1 ELSE
9 BEGIN
2 SELECT @FUNCION2 = FUNCION FROM PLANTILLA
WHERE FUNCION = @FUNCION
0 SELECT @TURNO2 = T FROM PLANTILLA
2 WHERE T = @TURNO
1 IF (@FUNCION2 IS NULL OR @TURNO2 IS NULL)
2 BEGIN
PRINT 'LA FUNCIN O EL TURNO INTRODUCIDOS NO SON
2 VLIDOS'
2 PRINT 'FUNCION: ' + @FUNCION
3 PRINT 'TURNO: ' + @TURNO
2 PRINT ''
4 PRINT 'NO SE HA REALIZADO LA INSERCIN'
END
2 ELSE
5 BEGIN
2 IF (@SALARIO > 500000)
6 BEGIN
PRINT 'EL SALARIO MXIMO PARA LOS TRABAJADORES
2 DE LA PLANTILLA ES DE 500.000 PTAS'
7 PRINT 'NO SE HA REALIZADO LA INSERCIN'
2 END
8 ELSE
2 BEGIN
INSERT INTO
9 PLANTILLA(Hospital_Cod,Sala_Cod,Empleado_No,Apellido,Funcion,T,Salar
3 io)
0 VALUES (@HOSPITAL2, @SALA2, @EMPLEADO
3 , @APELLIDO, @FUNCION, @TURNO, @SALARIO)
PRINT 'INSERCIN REALIZADA CORRECTAMENTE'
1 END
3 END
2 END
3 END
3 ELSE
BEGIN
3 PRINT 'EL NMERO DE EMPLEADO INTRODUCIDO EST REPETIDO: ' +
4 CAST(@EMPLEADO AS NVARCHAR(4))
3 PRINT 'NO SE HA REALIZADO LA INSERCIN'
5 END
3
6
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
6
0
6
1
6
2
6
3
6
4
6
5
6
6
6
7
6
8
6
9
7
0
7
1
7
2
?
EXEC INSERTAR_PLANTILLA 'La Paz','Recuperacin',9584,'Pablo
1S.','Enfermero','T',474890