Tema: Select top 5
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/03/2010, 10:20
juangel_ah
 
Fecha de Ingreso: octubre-2009
Mensajes: 26
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Select top 5

Buen Dia a todos!

encontre una solucion a lo que necesitaba sin embargo surgio un problema mas...la solucion la resolvi con el siguiente codigo...

DECLARE @nCOUNT INT
SET @nCOUNT = 1
DECLARE @nMAXVALUE INT

/*------------------- CREATION OF TEMP TABLES-----------*/
CREATE TABLE #JOBS
(
ID INT IDENTITY PRIMARY KEY,
NAME VARCHAR(50)
)

CREATE TABLE #HISTORY
(
NAME VARCHAR(80),
STATUS_CD INT,
RUN_DT DATETIME,
NEXT_DATE DATETIME,
MESSAGE VARCHAR(900)
)



/*-----------INSERT DATA TO THE TABLES----------------*/
INSERT INTO #JOBS
(
NAME
)
SELECT name FROM sysjobs

SELECT @nMAXVALUE = MAX(ID)
FROM #JOBS


WHILE (@nCOUNT <= @nMAXVALUE)
BEGIN

INSERT INTO #HISTORY
(
NAME, STATUS_CD, RUN_DT, NEXT_DATE, MESSAGE
)

select top 5 B.name, C.run_status, A.next_scheduled_run_date, C.message
from sysjobactivity A inner join sysjobs B on A.job_id = B.job_id
inner join sysjobhistory C on A.job_id = C.job_id
where B.name = (SELECT NAME FROM #JOBS WHERE ID = @nCOUNT)
group by B.name, C.run_status, C.run_date, A.next_scheduled_run_date, C.message

SET @nCOUNT = @nCOUNT + 1

END

SELECT * FROM #HISTORY

DROP TABLE #JOBS
DROP TABLE #HISTORY

---------------------
sin embargo es que ahora el sp toma mucho tiempo en poder ejecutarse ya que se realiza la consulta n veces....alguien tiene alguna mejor idea de como hacer esto??

cualquier comentario es bien recibido =)