Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
3| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 20 | |
| @informe | int | 4 | |
| @tipoinforme | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.informes_
@accion varchar(20),
@informe int,
@tipoinforme int = null
AS
BEGIN
declare @idtarea int
declare @informe_ int
if(@accion = 'tareas_sin_idtarea')
begin
select count(*) cantidad from informes i
inner join LN_informe_design ides on ides.idTipoInforme = @tipoinforme
inner join LN_tareas t on t.id_tipo_informe_blue = i.id_tipo_informe and t.idTarea = ides.idElem
and ides.tipo_elem = 'T'
where i.informe_padre = @informe and i.idTarea is null
return
end
if(@accion = 'select')
begin
select * from informes
where informe = @informe
return
end
if(@accion = 'actualizar_idtarea')
begin
--declaramos las variables del cursor
DECLARE actualizar_idtarea CURSOR FOR
--búsqueda de lastareas hijas de un informe padre que no tienen idtarea
select t.idTarea idtareaInforme, informe from informes i
inner join LN_informe_design ides on ides.idTipoInforme = @tipoinforme
inner join LN_tareas t on t.id_tipo_informe_blue = i.id_tipo_informe and t.idTarea = ides.idElem
and ides.tipo_elem = 'T'
where i.informe_padre = @informe and i.idTarea is null
OPEN actualizar_idtarea
FETCH NEXT FROM actualizar_idtarea INTO @idtarea,@informe_
WHILE @@fetch_status = 0
BEGIN
---actualiza el idtarea del/los informes hijos
update informes set idTarea = @idtarea where informe = @informe_
FETCH NEXT FROM actualizar_idtarea INTO @idtarea,@informe_
END
CLOSE actualizar_idtarea
DEALLOCATE actualizar_idtarea
return
end
END
GO
GO
CREATE OR ALTER PROCEDURE dbo.informes_
@accion varchar(20),
@informe int,
@tipoinforme int = null
AS
BEGIN
declare @idtarea int
declare @informe_ int
if(@accion = 'tareas_sin_idtarea')
begin
select count(*) cantidad from informes i
inner join LN_informe_design ides on ides.idTipoInforme = @tipoinforme
inner join LN_tareas t on t.id_tipo_informe_blue = i.id_tipo_informe and t.idTarea = ides.idElem
and ides.tipo_elem = 'T'
where i.informe_padre = @informe and i.idTarea is null
return
end
if(@accion = 'select')
begin
select * from informes
where informe = @informe
return
end
if(@accion = 'actualizar_idtarea')
begin
--declaramos las variables del cursor
DECLARE actualizar_idtarea CURSOR FOR
--búsqueda de lastareas hijas de un informe padre que no tienen idtarea
select t.idTarea idtareaInforme, informe from informes i
inner join LN_informe_design ides on ides.idTipoInforme = @tipoinforme
inner join LN_tareas t on t.id_tipo_informe_blue = i.id_tipo_informe and t.idTarea = ides.idElem
and ides.tipo_elem = 'T'
where i.informe_padre = @informe and i.idTarea is null
OPEN actualizar_idtarea
FETCH NEXT FROM actualizar_idtarea INTO @idtarea,@informe_
WHILE @@fetch_status = 0
BEGIN
---actualiza el idtarea del/los informes hijos
update informes set idTarea = @idtarea where informe = @informe_
FETCH NEXT FROM actualizar_idtarea INTO @idtarea,@informe_
END
CLOSE actualizar_idtarea
DEALLOCATE actualizar_idtarea
return
end
END
GO
Depends On
3Used By
No items found