SQL - SP devuelve null

   
Vista:

SP devuelve null

Publicado por Lazaro (2 intervenciones) el 27/04/2016 16:35:54
Buenos días gente:
Resulta que necesito agregar una columna (comentario) a un procedimiento almacenado que esta funcionando.
Realizo las modificaciones en tablas y vistas involucradas para agregarlo y cuando ejecuto el SP desde el programa me devuelve todo en null, como si no existieran resultados para el SP.

Aquí el codigo:

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
37
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_ReporteAusentesCausaxLegajo]
 
@FiltroDesde varchar(50),@FiltroHasta varchar(50),
@FechaDesde datetime, @FechaHasta datetime
 
AS
 
BEGIN
 
 
DROP TABLE ReporteActual
 
create table ReporteActual(empid int NULL,legajo char(20)NULL,Nombre varchar(51)NULL,tarjeta char(20)NULL,ent datetime NULL,sal datetime NULL,causa varchar(50)NULL,
sector char(50) NULL,vigencia varchar(2) NULL,ent_min real NULL,sal_min real NULL,horas_lab int NULL,dias_lab int NULL, comentario varchar(50))
 
INSERT INTO ReporteActual(empid,legajo,Nombre,tarjeta,ent,sal,causa,sector,vigencia,ent_min,sal_min,horas_lab,dias_lab, comentario)
 
	SELECT	viEmpHab.EmpId ,viEmpHab.legajo, viEmpHab.Nombre, viEmpHab.tarjeta, ViRegisCausa.Ent, ViRegisCausa.Sal,
		Conceptos.nombre AS Concepto, viEmpHab.Sector, Conceptos.vigencia, viRegisCausa.comentario,
		DATEDIFF(minute, CONVERT(VARCHAR, ViRegisCausa.Ent, 112), ViRegisCausa.Ent) AS ent_min,
		DATEDIFF(minute, CONVERT(VARCHAR, ViRegisCausa.Sal,112), ViRegisCausa.Sal) AS sal_min,
		SUM(ViHsLab.TotHsLab) AS Horas_lab,
		SUM(CASE ViHsLab.TotHsLab WHEN 0 THEN 0 ELSE 1 END ) AS dias_lab
 
FROM	ViRegisCausa INNER JOIN
		viEmpHab ON ViRegisCausa.EmpId = viEmpHab.EmpId INNER JOIN
        Conceptos ON ViRegisCausa.ConceptoId = Conceptos.ConceptoId LEFT OUTER JOIN
        ViHsLab ON viEmpHab.EmpId = ViHsLab.EmpId AND CONVERT(VARCHAR, ViRegisCausa.Sal, 112) >= ViHsLab.Fecha AND CONVERT(VARCHAR, ViRegisCausa.Ent, 112) <= ViHsLab.Fecha
 
WHERE   ViHsLab.Fecha >= @FechaDesde AND ViHsLab.Fecha <=  @FechaHasta and
		((dbo.viEmpHab.Legajo >= @FiltroDesde AND dbo.viEmpHab.Legajo <= @FiltroHasta))
 
GROUP BY	viEmpHab.EmpId, viEmpHab.legajo, viEmpHab.Nombre, viEmpHab.tarjeta, viEmpHab.Sector,
			ViRegisCausa.Ent, ViRegisCausa.Sal, Conceptos.nombre,Conceptos.vigencia, ViRegisCausa.comentario

Desde ya, muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

SP devuelve null

Publicado por Isaias (690 intervenciones) el 27/04/2016 19:56:36
¿Porque no manejas una variable TABLE?, ¿Tu query te regresa algo, si lo ejecutas en el management studio?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SP devuelve null

Publicado por Lazaro (2 intervenciones) el 28/04/2016 14:27:30
Si lo ejecuto desde el management (dandole valores a las variables) no devuelve nada. Es decir, me crea la tabla ReporteActual vacía.
Y si lo ejecuto desde la aplicación sucede lo mismo.
Vale aclarar que antes de agregar la columna "Comentario" el query funcionaba perfecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

SP devuelve null

Publicado por Isaias (690 intervenciones) el 28/04/2016 18:28:41
Tu mismo te estas dando la respuesta, "Si lo ejecuto en el management studio no me regresa nada", ¿tu crees que con solo convertirlo en procedimiento, milagrosamente, ¿te va a regresar algo?

Si agregaste una nueva columna y desde entonces no funciona, tienes una base para estudiar tu query, antes de convertirlo en procedimiento.

Te sugiero que la tabla sea VARIABLE o temporal

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar