Documentos de Académico
Documentos de Profesional
Documentos de Cultura
----------------------------------------------usario no PMO
rtypaldos
gasnatural
-- actualizar cache Transact
teclado CTRL+Mays+R
\\180.81.7.15\Volume_1
credenciales:
aplicaciones
app2013
SET NOCOUNT ON;
SET NOCOUNT OF;
-- COUNT DE TRANSACCIONES
SELECT @@trancount
ROLLBACK TRANSACTION
if not exists (select name from sys.objects where name = 'PRY_DIRNIVELII_MIG_140
429')
and (@IdMacrocapitulo is null or t6.IdMacroCapitulo = @IdMacrocapitulo )
convert(MONEY, rsc.CosteFinalAnio) AS [Coste Final Ao en curso]
------------------------------------------------------------------------------------------------CURSOR ESTATICO
------------------------------------------------------------------------------------------------Declare @IdProyectoCurr int
Declare @IdProyectoPadre int
Declare @IdTipoEntidad int
DECLARE Entidades SCROLL CURSOR
FOR
Select idProyecto,isnull(Idproyectopadre,''),idTipoEntid
ad
From Fn_GetHijos_Planificacion(2246,5,default)
OPEN Entidades
FETCH Entidades
INTO @IdProyectoCurr
,@IdProyectoPadre
,@IdTipoEntidad
WHILE (@@FETCH_STATUS = 0)
BEGIN
print cast(@IdProyectoCurr as varchar)
-- cierre de cursor
IF (cursor_status('global', N'@c_cliente') <> -3)
DEALLOCATE @c_cliente
-- CERRAR CURSOR
DECLARE @iCursor INT
SELECT @iCursor = count(*) from master..syscursors where cursor_name =
'cCursor'
IF @iCursor > 0
BEGIN
CLOSE cCursor
DEALLOCATE cCursor
End
ROLLBACK TRANSACTION
--Capturar y devolver la excepcin
DECLARE @ErrorMessage NVARCHAR(4000) = (
(SELECT ERROR_PROCEDURE()) +' - ' + (SELECT ERRO
R_MESSAGE())
);
DECLARE @ErrorSeverity INT = (
SELECT ERROR_SEVERITY()
);
DECLARE @ErrorState INT = (
SELECT ERROR_STATE()
);
RAISERROR (
@ErrorMessage
,
-- Message text.
@ErrorSeverity
,
-- Severity.
@ErrorState -- State.
)
END CATCH
END
DECIMAL(19, 8),
DATE ,
DATE,
AS
BEGIN
INSERT INTO @CosteEsfuerzo
SELECT DISTINCT
CASE WHEN (p.idTipoEntidad = 1) THEN ISNULL((select SUM(ISNULL(p
ci.costeFinalProg,0)) FROM PRY_COSTES_INICIALES pci WHERE pci.IdProyecto = ci.Id
Proyecto), 0)
ELSE ISNULL((select MAX(CosteFinal) from PRY_ResumenCosteEsfuerz
o where IdProyecto = ci.IdProyecto),0) END as ImporteTotal,
CASE WHEN (p.idTipoEntidad = 1) THEN ISNULL((select SUM(ISNULL(p
ci.Esfuerzo_Inicial,0)) FROM PRY_COSTES_INICIALES pci WHERE pci.IdProyecto = ci.
IdProyecto), 0)
ELSE ISNULL((select MAX(EsfuerzoInicial) from PRY_ResumenCosteEs
fuerzo where IdProyecto = ci.IdProyecto),0) END as EsfuerzoTotal,
convert(nvarchar(12) , p.FechaInicio, 103),
convert(nvarchar(12) , p.FechaFin, 103),
convert(nvarchar(12) , p.MejorPrevisionInicio, 103),
convert(nvarchar(12) , p.MejorPrevisionFin, 103)
FROM PRY_COSTES_INICIALES ci
INNER JOIN PRY_PROYECTOS p ON p.IdProyecto = ci.IdProyecto
WHERE ci.idproyecto = @IdProyecto
RETURN
End
-------------------------------------------------------------------------------------------------bk de tabla
------------------------------------------------------------------------------------------------exec dbo.PRY_CrearBkTabla 'PRY_Programa',0
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[PRY_DIRG
EN_140123]') AND type in (N'U'))
Begin
select * INTO PRY_DIRGEN_140123 FROM PRY_DIRGEN
if @@ROWCOUNT = 0
Print'Error al crear el backUp de la tabla PRY_DIRGEN'
else
Print' BackUp de la tabla PRY_DIRGEN correcto.(PRY_DIRGE
N_140123)'
End
Else
Print' Ya existe un backUp de la tabla PRY_DIRGEN.(PRY_DIRGEN_14
0123)'
------------------------------------------------------------------------------------CURSOR DINAMICO
------------------------------------------------------------------------------------DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
@ssql Nvarchar(500)
@tabla Nvarchar(500)
@Prod Nvarchar(5)
@Mes Nvarchar(2)
@Ao Nvarchar(4)
@vOutputDate
DATETIME
@pInputDate
DATETIME
) ON [PRIMARY] '
PRINT @sSql
EXEC (@sSql)
--Con clave primaria
ALTER TABLE [INCENTIVOS].[AU_Datos_Incentivos] WITH NOCHECK A
DD
CONSTRAINT [PK_AU_Datos_Incentivos] PRIMARY KEY NONCLUSTERED
(
[SEGMENTO],
[CATEGORIA],
[MATRICULA]
)ON [PRIMARY]
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- NUMERICOS
Set @ssql = 'Select @Count = Count(*) From Incentivos.ME_Log_Cargas Wher
e Carga = ''Productos'' And Fec_Carga ='+ @psEnv
Exec sp_executesql @ssql, N'@count int output', @Count output;
-- CADENAS
Set @ssql = 'select @TabPagos5 = NAME from '+ @bd +'..sysobjects WHERE X
TYPE=''U'' AND RIGHT(NAME,13)=''PAGOS_TOTALES'' '
print @ssql
Exec sp_executesql @ssql, N'@TabPagos5 Nvarchar(50) output', @TabPagos5
output;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
@ssql NVARCHAR(500)
@CATEGORIA NVARCHAR(2)
@MATRICULA NVARCHAR(7)
@SUMA_PESOS FLOAT
@tab VARCHAR(100)
-------------------------------------------------------------------------------------------------EXISTS
------------------------------------------------------------------------------------------------IF not Exists(Select * from PRY_ACTUALIZACION_FACTURACION_FLAGS where IdProyect
o = 2288)
BEGIN
INSERT INTO PRY_ACTUALIZACION_FACTURACION_FLAGS
(IdProyecto)
values
(2288)
END
-- Existe un registro
if exists (select '1'
from PRY_TAREAS
where IdProyecto = @IdProyecto
and IdTarea = @idtarea
and IdTipologia_Tarea = 1)
= 576)
--------------------------------------------------------------------------------
------------------FORMATEO FECHAS
------------------------------------------------------------------------------------------------DECLARE @fFinal datetime = '17/04/2013'
convert(varchar , @fFinal, 103) -> 17/04/2013
convert(varchar , @fFinal, 112) -> 20130417
-------------------------------------------------------------------------------------------------1FUNCIONES ESCALARES.
------------------------------------------------------------------------------------------------Create function IVA (@cantidad money)
Returns money
As
Begin
Declare @resultado money
Set @resultado = @cantidad
End
0.12
Consumir:
Select productos,precio,dbo.IVA(precio) as Iva
From productos
-------------------------------------------------------------------------------------------------- 2-FUNCION VALORES DE VARIAS INSTRUCCIONES
------------------------------------------------------------------------------------------------Create Function ListadoPais(@pais varchar(100))
Returns @clientes table
(
customerId varchar(5),
companyname varchar(50),
contactname varchar(100)
country varchar(100)
)
as
begin
insert @clientes select customerId, companyname, contactname, c
ountry
from customer where country = @pais
return
end
consumir:
select from dbo.listadopais( Germany )
-------------------------------------------------------------------------------------------------- 3 FUNCIONES DE VALORES DE TABLA EN LINEA
-------------------------------------------------------------------------------------------------- TRIGGER
------------------------------------------------------------------------------------------------CREATE TRIGGER NOMBRE_TRIGER
ON NOMBRE_TABLA
AFTER (INSERT,UPDATE,DELETE)
AS
BEGIN
CUERPO DEL TRIGGER
END
-------------------------------------------------------------------------------------------------not exists
------------------------------------------------------------------------------------------------SELECT IdDirNivelII
FROM PRY_DIRNIVELII
WHERE NOT EXISTS
(SELECT *
FROM PRY_PROYECTOS
WHERE IdDirNivelII = PRY_DIRNIVELII.IdDirNivelII
and End_date is null)
-------------------------------------------------------------------------------------------------OPENROWSET con ficheros excel
------------------------------------------------------------------------------------------------INSERT INTO MyTable
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=D:\test.xlsx', [NombreHoja$])
Dependiendo el tipo de archivo (extensin)
File Type (extension)
operties
Extended Pr
set @sqlArea = 'Select IdArea from Areas Where IdArea = ' + CONVERT(var
char(10), @IdArea)
insert into @TArea
execute sp_executesql @sqlArea
--Insert en la Tabla ICP_PROYECTOS
declare @TPryProyectos IcpProyectos
insert into @TPryProyectos
exec dbo.PPT_Informe_GetProyectosFromPRY @IdComite
-------------------------------------------------------------------------------------------------Consulta de CECO
------------------------------------------------------------------------------------------------select pp.IdProyecto,pp.CodAreaOTrabajo,cc.*
FROM PRY_PROYECTOS pp
INNER JOIN CECO cc ON cc.IdCECO = pp.CodAreaOTrabajo
and pp.Anio = cc.Anio
-------------------------------------------------------------------------------------------------Extraer el area de un proyecto
-----------------------------------------------------------------------------------------------select pp.IdProyecto,pp.CodAreaOTrabajo,cc.Areas ,ar.Chtto as Areas_Chtto--, cc.
*
FROM PRY_PROYECTOS pp
INNER JOIN CECO cc ON cc.IdCECO = pp.CodAreaOTrabajo
inner join Areas ar on ar.IdArea = cc.Areas
where cc.Areas = 38
and pp.IdProyecto= 1540
-- and pp.Anio = cc.Anio
-------------------------------------------------------------------------------------------------tabla temporal
-----------------------------------------------------------------------------------------------create table #Tabla_HorasPlanif (Equipo Int,
Anio int ,Resultado numeric(18,2
))
insert into #Tabla_HorasPlanif exec PRY_GetHorasGruposAnios @idproyecto, @idPai
s
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
END CATCH
-------------------------------------------------------------------------------------------------COMITES por mes (el maximo)
-----------------------------------------------------------------------------------------------Declare @IdAreaComite int
Declare @IdMacrocapitulo int
Declare @Tipo int = 1
select max(IdComite)comite ,left(convert(varchar , fecha, 112),6)
from ICP_COMITE t
where t.Tipo = isnull(@Tipo, t.tipo)
and (@IdAreaComite is null or t.IdArea = @IdAreaComite )
and (@IdMacrocapitulo is null or t.IdMacrocapitulo = @IdMacrocapitulo)
And YEAR(t.Fecha) = YEAR(GETDATE())
group by left(convert(varchar , fecha, 112),6)
-------------------------------------------------------------------------------------------------APROBADO Y COMPROMETIDO DE UN PROYECTO
-----------------------------------------------------------------------------------------------,dbo.Fn_CambioImporteAnioMes(ISNULL(dbo.Fn_CalculaImporteAprobadoPry(IdProyecto,
NULL, @Pais), 0), ISNULL(@Moneda, Moneda), Moneda, GETDATE())
AS ImporteAprobado
,dbo.Fn_CambioImporteAnioMes(ISNULL(dbo.Fn_CalculaImporteComprometidoPry(IdProye
cto, NULL, @Pais), 0), ISNULL(@Moneda, Moneda), Moneda, GETDATE())
AS ImporteComprometido