dbo.apikey_consumo_mensual_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

1
Name Data Type Length Description
@hoy date 3

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec api_consumos


select * from apikey where producto =40

select * from productos where producto=40
 

*/


CREATE OR ALTER PROCEDURE dbo.apikey_consumo_mensual_
@hoy date = '2022-02-01' 
AS

BEGIN
    SET NOCOUNT ON;
 
 declare @ant_lastday date = null
 declare @ant_firstday date = null
 if (convert(varchar,DAY(@hoy)) = '1') 
 begin 
  set @ant_lastday =  DATEADD(dd, -1, @hoy) 
  set @ant_firstday = DATEADD(mm, -1, @hoy)
 end 

 declare @id int, @pUserKey int, @pProdKey int 
 declare @consumo bigint 

 DECLARE C_api_consumo CURSOR FOR

  select distinct apikey.user_id,apikey.producto, id_api_key
  from apikey 
  inner join usuarios_productos on (apikey.user_id=usuarios_productos.user_id and apikey.producto=usuarios_productos.id_producto)
  left join clientes_productos on (usuarios_productos.cliente = clientes_productos.cliente and clientes_productos.id_producto=usuarios_productos.id_producto and usuarios_productos.id_seccion=0)
  where apikey.activo = 1
  order by id_api_key

 OPEN C_api_consumo
 FETCH NEXT FROM C_api_consumo INTO @pUserKey,@pProdKey,@id
 WHILE @@fetch_status = 0
 BEGIN
  if not exists (select * from [apikey_consumo_mensual] where id_api_key = @id and mes = @ant_lastday)
  begin 
   select @consumo = count(*) from usuarios_consumos where user_id= @pUserKey and id_producto=@pProdKey and convert(date,created) between @ant_firstday and @ant_lastday
   insert into apikey_consumo_mensual (id_api_key, mes, consumo_mes)
   values (@id, @ant_lastday, @consumo) 
  end 
  FETCH NEXT FROM C_api_consumo INTO @pUserKey,@pProdKey,@id
 END  
 CLOSE C_api_consumo
 DEALLOCATE C_api_consumo

END

/*
update apikey set vigencia_desde = '2022-01-01 00:00:000' WHERE activo = 1
select * from apikey where id_api_key = 19
select * from apikey where user_id = 399154624 and producto = 27
select * from [apikey_consumo_mensual]
*/


GO

Used By

No items found