
Stored procedure con parametro opcional
Publicado por Antonio (1 intervención) el 29/05/2018 18:45:22
Tengo este procedure, quiero poder enviar o no el parametro @EMPLEADO
Por Ejemplo: Si corro esto, debería obtener todos los valores que tengan Pedro
I si corro esto, Deberia mostrarme todos los valores
Stored procedure:
Puedo hacer eso?
Por Ejemplo: Si corro esto, debería obtener todos los valores que tengan Pedro
1
EXEC Fichada_por_sucursal '2018-05-01','2018-05-05',' Pedro'
I si corro esto, Deberia mostrarme todos los valores
1
EXEC Fichada_por_sucursal '2018-05-01','2018-05-05',''
Stored procedure:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
ALTER PROCEDURE Fichada_por_sucursal2 (
@fecha1 date,
@fecha2 date,
@EMPLEADO NVARCHAR(100))
AS
select CASE DATENAME(dw, a.fecha )
WHEN 'Monday' then 'Lunes'
WHEN 'Tuesday ' then 'Martes'
WHEN 'Wednesday ' then 'Miércoles'
WHEN 'Thursday' then 'Jueves'
WHEN 'Friday' then 'Viernes'
WHEN 'Saturday' then 'Sábado'
ELSE 'Domingo' END
as Fechadia,
a.legajo,c.nombres,
e.abrv,CONVERT (char(10), a.fecha, 103) as Fecha,
f.entrada as Hora_IN,
a.hora as ENTRADA,
f.salida as Hora_out,
b.hora as SALIDA,
DATEDIFF(HOUR,a.hora,b.hora) as Horas_trabajadas,
c.hor_x_jor Horas_jornada,
DATEDIFF(HOUR,a.hora,b.hora) -hor_x_jor as Diferencia
from fichadas_in a
JOIN fichadas_out b on (a.Legajo=b.Legajo and a.fecha=b.fecha)
JOIN empleados c on (a.legajo=c.legajo)
JOIN sucursales d on (c.CCO=d.Codigo)
JOIN Clasificacion e on (e.Codigo=c.Clasif)
JOIN grupo_horario f on (c.grupo_h=f.codigo)
where a.fecha between @fecha1 and @fecha2
AND C.Nombres LIKE '%' + @EMPLEADO + '%'
Puedo hacer eso?
Valora esta pregunta


0