Sunteți pe pagina 1din 17

CATALOGO 1. Cuantas columnas de tipo int hay en la base de datos que pertenezcan a tablas de usuario.

select count(*) as cantidadInt from syscolumns c,sys.types t, sys.sysobjects o where c.xtype=t.system_type_id and c.id=o.id and o.xtype= 'U' and t.name = 'int'

2. Muestre las restricciones existentes. Indique el id, el nombre y texto de de la misma. select constid,name from sys.sysconstraints c,sys.sysobjects o where c.constid=o.id

3. Cuales tablas del catlogo del sistema contienen tipos de datos datetime. select o.name from syscolumns c,sys.types t, sys.sysobjects o where c.xtype=t.system_type_id and c.id=o.id and o.xtype= 'S' and t.name = 'datetime'

4. Cules son los tipos de datos creados en su BD? select distinct (t.name) from sys.systypes t, sys.syscolumns c where t.xtype=c.xtype

5. Cules son los usuarios de su base de datos? Cul es el login que tienen asociado? Es posible que un usuario no tenga asociado un login? select su.name, loginname from sys.syslogins sl right join sysusers su on sl.sid=su.sid

Si, un usuario puede no tener asociado un login.

6. Cmo se llaman los ndices que posee su base de datos? Qu relacin tienen con las restricciones de integridad de las entidades? select si.name,so.name from sys.sysconstraints sc inner join sys.sysindexes si on si.id=sc.id inner join sys.sysobjects so on so.id=sc.constid

7. Qu columnas poseen sus ndices? En qu orden se encuentran? select k.id,c.name,i.name,k.keyno from sys.sysindexkeys k, sys.syscolumns c, sys.sysindexes i where k.id=c.id and k.colid=c.colid and i.id=k.id order by i.name,k.keyno

8. Cmo obtiene los permisos de los usuarios? Cmo sabe quien los entreg? Es posible distinguir quien le dio permisos a un usuario si ms de uno le asigno el mismo permiso? Accediendo a la tabla sys.syspermissions podemos ver que: Contiene informacin sobre los permisos concedidos y denegados a los usuarios, grupos y funciones de la base de datos. Accediendo con la sentencia: select * from syspermissions podremos ver dichos permisos. Si, ya que en dicha situacion tendriamos dos registros con mismo id de permiso y mismo id de grantee pero distinto id de grantor

9. Cul es el texto de creacin de los procedimientos almacenados dentro de su base de datos? SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES 10. Determine las restricciones de integridad referencial, muestre los campos que las componen en el orden en que fueron creados.

select o1.name as FK,o2.name as CampoFK,o3.name CampoRef, o2.crdate FechaCrCampoFk FROM sys.sysforeignkeys fk, sys.sysobjects o1, sys.sysobjects o2, sys.sysobjects o3 where fk.constid=o1.id and fk.fkeyid=o2.id and fk.rkeyid=o3.id order by o1.name,o2.crdate

CORRELACION
--1. Cul es el menor precio de un estudio en cada instituto. Indicar el nombre del estudio y el nombre del instituto, ordenando el resultado por estudio e instituto. select e.estudio, i.instituto from precios p, institutos i, estudios e where p.idinstituto=i.idinstituto and p.idestudio=e.idestudio and p.precio <= ALL ( select pr.precio from precios pr where pr.idinstituto=p.idinstituto ) order by e.estudio, i.instituto --2. Cules son los pacientes que no poseen cobertura. select p.dni from pacientes p where not exists (select * from afiliados aa where aa.dni=p.dni) --3. Cules son los pacientes que se realizaron ms estudios. select nombre from pacientes p where (select count(h.dni) from historias h where h.dni=p.dni) >= ALL (select count(h1.dni) from historias h1 group by h1.dni) --4. Cules son los mdicos con ms especialidades y que atendieron a pacientes que tengan una --letra N en el apellido. select em.matricula, count(em.idespecialidad) from espemedi em

where EXISTS ( select * from historias h, pacientes p where em.matricula=h.matricula and h.dni=p.dni and p.apellido like '%n%' ) group by em.matricula having count(em.idespecialidad) >= ALL (select count(emm.idespecialidad) from espemedi emm group by emm.matricula ) --5. Cul es la especialidad que ms estudios tiene recetados. Indicar el nombre de la --especialidad y la cantidad de estudios select esp.especialidad, count(ee.idestudio) from estuespe ee, especialidades esp where ee.idespecialidad=esp.idespecialidad group by esp.especialidad having count(ee.idestudio) >= ALL( select count(idestudio) from estuespe ee2 group by ee2.idespecialidad ) --6. Cul es el estudio que figura en ms especialidades. select idestudio from estudios est where (select count(es.idestudio) from estuespe es where es.idestudio=est.idestudio) >= ALL (select count (es.idestudio) from estuespe es group by es.idestudio) --7. Cul es el paciente que tiene ms estudios recetados segn su cobertura. select pa.nombre from afiliados afi, pacientes pa where pa.dni=afi.dni and (select count(cob.idestudio) from coberturas cob where cob.sigla=afi.sigla and cob.nroplan=afi.nroplan) >=ALL (select count(cob.idestudio) from coberturas cob group by cob.idestudio) --8. Cunto dinero implica los estudios ya realizados por sus pacientes de aquellos pacientes que --pertenezcan al mdico con mas dinero recetado en estudios. select hist.dni, sum(pre.precio) from historias hist, precios pre where hist.idestudio=pre.idestudio and hist.idinstituto=pre.idinstituto and hist.matricula = ( select hi.matricula

from historias hi, precios pr where hi.idestudio=pr.idestudio and hi.idinstituto=pr.idinstituto group by hi.matricula having sum(pr.precio)>= ALL ( select sum(pr2.precio) from historias hi2, precios pr2 where hi2.idestudio=pr2.idestudio and hi2.idinstituto=pr2.idinstituto group by hi2.matricula ) ) group by hist.dni --9. Cul es el gasto de dinero realizado por cada obra social sumando los estudios -de todos sus afiliados. select af.sigla, sum(precio)as Total from historias his inner join precios pre on (pre.idestudio = his.idestudio) inner join afiliados af on (his.dni=af.dni) group by af.sigla --10.Determine los 3 pacientes que mas pagaron en concepto de estudios y que posean cobertura a travs de una obra --social. Proyecte el nombre, el apellido, la obra social, el plan y el importe abonado por el usuario. select * from ( select pa.nombre, pa.apellido, af.sigla, af.nroplan, sum (pr.precio) as totalPac from pacientes pa, afiliados af, coberturas co, historias h, precios pr where pa.dni=af.dni and h.dni=pa.dni /*af.sigla=co.sigla and af.nroplan=co.nroplan and */ and pr.idestudio=h.idestudio and pr.idinstituto=h.idinstituto group by pa.nombre, pa.apellido, af.sigla, af.nroplan ) x1 where 2 > (select count(*) from (select sum (pr.precio) as totalPac from pacientes pa, afiliados af, coberturas co, historias h, precios pr where pa.dni=af.dni and h.dni=pa.dni and pr.idestudio=h.idestudio and pr.idinstituto=h.idinstituto group by pa.nombre, pa.apellido, af.sigla, af.nroplan) x2 where x1.totalPac < x2.totalPac)

PROCEDIMIENTOS ALMACENADOS /*1.Crear un procedimiento para ingresar el precio de un estudio. INPUT: nombre del estudio, nombre del instituto y precio. Si ya existe la tupla en Precios debe actualizarla. Si no existe debe crearla. Si no existen el estudio o el instituto debe crearlos.*/ create PROCEDURE INGRESAR_PRECIO_ESTUDIO @nombre_del_estudio char(20), @nombre_del_instituto char(20), @precio int AS begin if not exists (select * from estudios where estudio = @nombre_del_estudio) begin declare @idalgo int select @idalgo = max(idestudio) + 1 from estudios Insert into Estudios values (@idalgo,@nombre_del_estudio,'verdadero') end if not exists (select * from institutos where instituto = @nombre_del_instituto) begin declare @idalgo1 int select @idalgo1 = max(idinstituto) + 1 from institutos Insert into Institutos values (@idalgo1,@nombre_del_instituto,'verdadero') end if exists(select idinstituto from precios where exists (select * from institutos where instituto = @nombre_del_instituto)) and exists (select idestudio from precios where exists (select * from estudios where estudio = @nombre_del_estudio)) begin declare @idalgo2 int declare @idalgo3 int select @idalgo2 = idinstituto from institutos where instituto = @nombre_del_instituto select @idalgo3 = idestudio from estudios where estudio = @nombre_del_estudio Insert into Precios (idestudio, idinstituto, precio) values (@idalgo3,@idalgo2,1) end if exists (select * From estudios where estudio = @nombre_del_estudio)

and exists (select * from institutos where instituto = @nombre_del_instituto) begin Update Precios set precio = @precio where idestudio = All (select idestudio from estudios where estudio = @nombre_del_estudio) and idinstituto = All (select idinstituto from institutos where instituto = @nombre_del_instituto) end end

exec INGRESAR_PRECIO_ESTUDIO 'ortodoncia','Santa Ana',90 exec INGRESAR_PRECIO_ESTUDIO 'chantas','Santa andrea',70 /*2.Crear un procedimiento para ingresar estudios programados. INPUT: nombre del estudio, dni del paciente, matrcula del mdico,nombre del instituto, sigla de la ooss, entero que inserte la cantidad de estudios a realizarse, entero que indique el lapso en das en que debe repetirse. Generar todos las tuplas necesarias en la tabla historias. (Ejemplo: control de presin cada 48hs durante 10 das).*/ create PROCEDURE INGRESAR_ESTUDIO_PROGRAMADO @dni_del_paciente VARCHAR(100), @nombre_del_estudio char(20), @nombre_del_instituto char(20), @matricula_del_medico int, @Sigla_de_OOSS char(20), @cantidad_de_estudio int, @lapso_en_das_a_repetirse int AS declare @aux int select @aux = 0 while (@aux < @cantidad_de_estudio) begin declare @idalgo int declare @idalgo1 int declare @idalgo2 datetime select @idalgo = idinstituto from institutos where instituto = @nombre_del_instituto select @idalgo1 = idestudio from estudios where estudio = @nombre_del_estudio select @idalgo2 = getdate()+ (@lapso_en_das_a_repetirse * @aux) insert into Historias(dni,idestudio,idinstituto,fecha,matricula,Sigla,pagado,observac iones) values (@dni_del_paciente,@idalgo1,@idalgo,@idalgo2,@matricula_del_medico,@Sigla _de_OOSS,'true','')

select @aux = @aux +1 end exec INGRESAR_ESTUDIO_PROGRAMADO '24875478','Ortodoncia','Santa Ana',107878,'P.S.',3,5 select * from historias /*3.Crear un procedimiento para ingresar datos del afiliado. INPUT: dni del paciente, sigla de la ooss, nro del plan, nro de afiliado. Si ya existe la tupla en Afiliados debe actualizar el nro de plan y el nro de afiliado. Si no existe debe crearla.*/ create PROCEDURE INGRESAR_Datos_Afiliado @Sigla_de_OOSS char(20), @nro_de_plan int, @nro_de_afiliado int, @dni_del_paciente varchar(50) AS if not exists (select * From Afiliados where Sigla = @Sigla_de_OOSS and @dni_del_paciente = dni) begin Insert into Afiliados values (@Sigla_de_OOSS,@nro_de_plan,@nro_de_afiliado,@dni_del_paciente) end if exists (select * From Afiliados where Sigla = @Sigla_de_OOSS and @dni_del_paciente = dni) begin Update Afiliados set nroplan = @nro_de_plan where Sigla = All (select Sigla from afiliados where Sigla = @Sigla_de_OOSS) and dni = All (select dni from afiliados where dni = @dni_del_paciente) Update Afiliados set @nro_de_afiliado = nroafiliado where Sigla = All (select Sigla from afiliados where Sigla = @Sigla_de_OOSS) and dni = All (select dni from afiliados where dni = @dni_del_paciente) end exec INGRESAR_Datos_Afiliado 'P.S.',1,478241,'24.875.478' /*4.Crear un procedimiento para que proyecte los estudios realizados en un determinado mes. INPUT: mes y ao.

Proyectar los datos del afiliado y los de los estudios realizados.*/ create PROCEDURE Proyectar_estudios_realizados @mes int, @ao int AS begin select * from (afiliados a inner join historias h ON a.dni = h.dni and a.Sigla = h.Sigla) Inner join estudios e ON e.idestudio = h.idestudio where datepart (mm,fecha) = @mes and datepart (yy,fecha) = @ao end exec Proyectar_estudios_realizados 09,2006 /*5.Crear un procedimiento que proyecte los pacientes segn un rango de edad. INPUT: edad mnima y edad mxima. Proyectar los datos del paciente.*/ create PROCEDURE Paciente_con_rango_de_edad @edad_minima datetime, @edad_maxima datetime AS begin select * from pacientes where nacimiento between @edad_minima and @edad_maxima order by nacimiento desc end exec Paciente_con_rango_de_edad '1953-01-01','1986-01-04' select * from pacientes /*6.Crear un procedimiento que proyecte los datos de los mdicos para una determinada especialidad. INPUT: nombre de la especialidad y sexo (default null). Proyectar los datos de los mdicos activos que cumplan con la condicin. Si no se especifica sexo, listar ambos.*/ create PROCEDURE Medico_para_especialidad @nombre_de_especialidad char(20), @sexo char(10) AS

begin if exists(select * from especialidades where @nombre_de_especialidad = especialidad) begin if (@sexo = 'f') begin select m.matricula,m.nombre,m.apellido,m.activo,m.sexo from medicos m Inner join espemedi es on m.matricula = es.matricula inner join especialidades espe on espe.idespecialidad = es.idespecialidad where m.sexo = 'f' and m.activo = 'verdadero' and @nombre_de_especialidad = espe.especialidad end if (@sexo = 'm') begin select m.matricula,m.nombre,m.apellido,m.activo,m.sexo from medicos m Inner join espemedi es on m.matricula = es.matricula inner join especialidades espe on espe.idespecialidad = es.idespecialidad where m.sexo = 'm' and m.activo = 'verdadero' and @nombre_de_especialidad = espe.especialidad end if (@sexo is null) begin select m.matricula,m.nombre,m.apellido,m.activo,m.sexo from medicos m Inner join espemedi es on m.matricula = es.matricula inner join especialidades espe on espe.idespecialidad = es.idespecialidad where m.activo = 'verdadero' and @nombre_de_especialidad = espe.especialidad end end end exec Medico_para_especialidad 'Radiografia',null

/*7.Crear un procedimiento que proyecte los estudios que estn cubiertos por una determinada obra social. INPUT: nombre de la ooss, nombre del plan ( default null ). Proyectar los estudios y la cobertura que poseen (estudio y porcentaje cubierto. Si no se ingresa plan, se deben listar todos los planes de la obra social.*/ create PROCEDURE Estudios_cubiertos_por_OOSS @nombre_de_obra_social char(20),

@nombre_de_plan char(20) AS begin if (@nombre_de_plan is null) begin select pl.nombre,pl.nroplan from OOSS os inner join planes pl on os.sigla = pl.sigla where @nombre_de_obra_social = os.nombre end else begin select es.estudio,co.cobertura from estudios es inner join coberturas co on co.idestudio = es.idestudio inner join planes pl on pl.nroplan = co.nroplan and pl.Sigla = co.Sigla inner join OOSS os on pl.sigla = os.Sigla where @nombre_de_obra_social = os.nombre and @nombre_de_plan = pl.nombre end end exec Estudios_cubiertos_por_OOSS 'Instituto y obras','Trabajador' /*8.Crear un procedimiento que proyecte cantidad de estudios realizados agrupados por ooss, nombre del plan y matricula del medico. INPUT: nombre de la ooss, nombre del plan, matrcula del mdico. (todos deben admitir valores nulos por defecto ) Proyectar la cantidad de estudios realizados. Si no se indica alguno de los parmetros se deben discriminar todas las ocurrencias.*/ create PROCEDURE Cantidad_de_estudios_realizados @nombre_de_obra_social char(20), @nombre_de_plan char(20), @matricula_de_medico int AS begin if (@nombre_de_plan is not null and @nombre_de_obra_social is not null and @matricula_de_medico is not null) begin select count (hi.idestudio) as 'Cantidad de estudios realizados' from OOSS os inner join planes pl on os.sigla = pl.sigla inner join afiliados a on a.sigla = pl.sigla and pl.nroplan = a.nroplan inner join historias hi on hi.sigla = a.sigla inner join medicos m on m.matricula = hi.matricula where @nombre_de_obra_social = os.nombre and @nombre_de_plan = pl.nombre and @matricula_de_medico = hi.matricula end

end exec exec exec exec Cantidad_de_estudios_realizados Cantidad_de_estudios_realizados Cantidad_de_estudios_realizados Cantidad_de_estudios_realizados 'Provincia Salud','Jubilado',107878 'Provincia Salud','Jubilado',null 'Provincia Salud',null,107878 null,'Jubilado',107878

/*9.Crear un procedimiento que proyecte dni, fecha de nacimiento, nombre y apellido de los pacientes que correspondan a los n (valor solicitado) pacientes ms viejos cuyo apellido cumpla con determinado patrn de caracteres. INPUT: cantidad (valor n), patrn caracteres (default null). Proyectar los pacientes que cumplan con la condicin. (Ejemplo: los 10 pacientes ms viejos cuyo apellido finalice con ez o los 8 que comiencen con A*/ create PROCEDURE Proyeccion @cantidad int, @patron_caracteres char(10) = null AS begin if(@patron_caracteres is null) begin set @patron_caracteres ='%' end print @patron_caracteres select dni,nombre,apellido, nacimiento from pacientes p where @cantidad > (select count(*) from pacientes p1 where p1.nacimiento<p.nacimiento) and apellido like @patron_caracteres end exec Proyeccion 2,'%jt%'

/*10. Crear un procedimiento que devuelva el precio total a liquidar a un determinado instituto. INPUT: nombre del instituto, periodo a liquidar. OUTPUT: precio neto. Devuelve el neto a liquidar al instituto para ese perodo en una variable.*/ create PROCEDURE PrecioTotal @nombre_de_instituto char(20), @periodo_a_liquidar_desde datetime, @periodo_a_liquidar_hasta datetime,

@precio_neto int OUTPUT AS begin set dateformat dmy select @precio_neto = sum(p.precio) from Precios p inner join institutos i on p.idinstituto = i.idinstituto Inner join historias h on h.idinstituto = p.idinstituto where i.instituto = @nombre_de_instituto and h.fecha between @periodo_a_liquidar_desde and @periodo_a_liquidar_hasta end DECLARE @sumatotal int exec PrecioTotal 'Santa Ana','15/09/2006','30/09/2006',@sumatotal output PRINT 'Precio total de los ejemplares: $' + convert(varchar(12),@sumatotal) /*11.Crear un procedimiento que devuelva el precio total a facturar y la cantidad de estudios intervinientes a una determinada obra social. INPUT: nombre de la obra social, periodo a liquidar. OUTPUT: precio neto, cantidad de estudios. Devuelve en dos variables el neto a facturar a la obra social o prepaga y la cantidad de estudios que abarca para un determinado perodo.*/ create PROCEDURE PrecioTotalConEstudio @nombre_de_OOSS char(20), @periodo_a_liquidar_desde datetime, @periodo_a_liquidar_hasta datetime, @precio_neto int OUTPUT, @cant_estu int OUTPUT AS begin set dateformat dmy select @precio_neto = sum(p.precio),@cant_estu = count(h.idestudio) from Precios p inner join institutos i on p.idinstituto = i.idinstituto Inner join historias h on h.idinstituto = p.idinstituto Inner join OOSS os on os.SIgla = h.SIgla where os.nombre = @nombre_de_OOSS and h.fecha between @periodo_a_liquidar_desde and @periodo_a_liquidar_hasta end DECLARE @sumatotal1 int DECLARE @cant_estu int exec PrecioTotalConEstudio 'Provincia Salud','15/10/2006','31/10/2006',@sumatotal1 output,@cant_estu output

PRINT 'Precio total de las OOss: $' + convert(varchar(12),@sumatotal1) PRINT 'Cantidad de estudios: ' + convert(varchar(12),@cant_estu)

/*12.Crear un procedimiento que devuelva el monto a abonar de un paciente moroso. INPUT: dni del paciente, estudio realizado, fecha de realizacin, punitorio (mensual). OUTPUT: precio neto. Obtener punitorio diario y precio a abonar. Devuelve precio + punitorio en una variable.*/ create PROCEDURE Paciente_Moroso @dni_del_paciente varchar(50), @estudio_realizado char (20), @fecha_de_realizacion datetime, @punitorio_mensual int, @precio_neto int OUTPUT AS begin set dateformat dmy select @precio_neto = p.precio + (@punitorio_mensual/30)*datediff(dd, h.fecha, getdate()) from Precios p inner join estudios e on p.idestudio = e.idestudio Inner join historias h on h.idestudio = p.idestudio where h.dni = @dni_del_paciente and e.estudio = @estudio_realizado and @fecha_de_realizacion = h.fecha and h.pagado = 'falso' end set dateformat dmy DECLARE @precio_neto int exec Paciente_Moroso '24.875.478','Ecodopler','02/09/2006',30,@precio_neto output PRINT 'Precio total : $' + convert(varchar(12),@precio_neto)

/*13.Crear un procedimiento que devuelva el precio mnimo y el precio mximo que debe abonar a una obra social. INPUT: sigla de la obra social o prepaga OUTPUT: mnimo, mximo. Devolver en dos variables separadas el monto mnimo y mximo a ser cobrados por la obra social o prepaga. */ create PROCEDURE Pmin_Pmax

@sigla_de_OOSS char(20), @Pmin int output, @Pmax int output AS begin select @Pmin = min(cobertura*p.precio) from Coberturas co inner join Estudios e on co.idestudio = e.idestudio Inner join Precios p on e.idestudio = p.idestudio inner join planes pl on pl.sigla = co.sigla and pl.nroplan = co.nroplan where co.sigla = @sigla_de_OOSS select @Pmax = max(cobertura*p.precio) from Coberturas co inner join Estudios e on co.idestudio = e.idestudio Inner join Precios p on e.idestudio = p.idestudio inner join planes pl on pl.sigla = co.sigla and pl.nroplan = co.nroplan where co.sigla = @sigla_de_OOSS end DECLARE @Pmax int DECLARE @Pmin int exec Pmin_Pmax 'P.S.',@Pmax output,@Pmin output PRINT 'Precio total maximo : $' + convert(varchar(12),@Pmax) PRINT 'Precio total minimo : $' + convert(varchar(12),@Pmin)

/*14.Crear un procedimiento que devuelva la cantidad posible de juntas mdicas que puedan crearse combinando los mdicos existentes. INPUT / OUTPUT: entero. Ingresar la cantidad de combinaciones posibles de juntas entre mdicos ( 2 a 6 ) que se pueden generar con los mdicos activos de la Base de Datos. Retorna la Combinatoria (m mdicos tomados de a n) = m! / n! (m-n)! en una variable. */ create PROCEDURE Juntas @entero int, @entero2 int output AS begin if (@entero between 2 and 6) begin

declare @var1 int declare @var2 int declare @var3 int select @var1 = count(matricula) from medicos set @var2 = @entero set @var3 = @var1 - @var2 SELECT @var1= dbo.factorial(@var1) SELECT @var2= dbo.factorial(@var2) SELECT @var3= dbo.factorial(@var3) set @entero2 = end end /*crea los factoriales*/ create FUNCTION dbo.factorial(@n int) RETURNS int AS BEGIN DECLARE @tmp int IF (@n <= 1) SELECT @tmp = 1 ELSE SELECT @tmp = @n * dbo.factorial(@n - 1) RETURN @tmp END GO DECLARE @Pmax int exec Juntas 2,@Pmax output PRINT 'Cantidad de juntas: ' + convert(varchar(12),@Pmax) /*15.Crear un procedimiento que devuelva la cantidad de pacientes y Mdicos que efectuaron estudios en un determinado perodo. INPUT / OUTPUT: dos enteros. Ingresar perodo a consultar (mes y ao ) Retornar cantidad de pacientes que se realizaron uno o mas estudios y cantidad de mdicos solicitantes de los mismos, en dos variables. */ create PROCEDURE Pacientes_y_clientes_en_fecha @Mes_a_consultar int, @Ao_a_consultar int, @Entero1 int output, @Entero2 int output AS begin @var1 / (@var2 * (@var3))

select @Entero1 = count(dni) from historias where datepart(mm, fecha)= @Mes_a_consultar and datepart(yy, fecha)= @Ao_a_consultar select @Entero2 = count(matricula) from historias where datepart(mm, fecha)= @Mes_a_consultar and datepart(yy, fecha)= @Ao_a_consultar end DECLARE @E1 int DECLARE @E2 int exec Pacientes_y_clientes_en_fecha 11,2006,@E1 output,@E2 output PRINT 'Cantidad de pacientes : ' + convert(varchar(12),@E1) PRINT 'Cantidad de medicos : ' + convert(varchar(12),@E2)

http://ar.letsbonus.com/buenos-aires-centro/corte-lavadobano?utm_source=newsletter&utm_medium=emailing&utm_campaign=Deals_buenos-airescentro_2012-10-15&utm_content=145223&idlb=440236611&enc=0177ddea

http://www.groupon.com.ar/deals/buenos-aires/CiarlantiniRamone/11643680?nlp=&CID=AR_CRM_1_0_0_289&a=1439

S-ar putea să vă placă și