15/03/2010, 10:20
|
| | Fecha de Ingreso: octubre-2009
Mensajes: 26
Antigüedad: 15 años, 1 mes 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 =) |