Mostrando las entradas con la etiqueta SQL. Mostrar todas las entradas
Mostrando las entradas con la etiqueta SQL. Mostrar todas las entradas

miércoles, 29 de julio de 2015

Crear un Trigger que corra un Stored Procedured

Abajo encontraras un ejemplo de un Trigger que cuando detecta un Insert en la tabla cacha cuatro campos para despues ponerlos dentro la ejecucion de un stored procedured


--====================================
--  Create database trigger Proveedores
-- para Portal Proveedores
-- A.C.P. 29/07/15
--====================================


ALTER TRIGGER tr_NewVendor ON Vendor
FOR INSERT
AS

BEGIN
Declare @VendID Char(15)
Declare @Name Char(60)
Declare @EMailAddr Char(80)
Declare @TaxRegNbr VarChar(15)
Declare @NewRfc  Int

Select  @VendID = VendID,
@Name = Name,
@EMailAddr =  EMailAddr,
@TaxRegNbr = TaxRegNbr
From Inserted

select @NewRfc=Count(TaxRegNbr) from vendor where TaxRegNbr= @TaxRegNbr

Begin
if @NewRfc = 0
 EXEC PrtProv.dbo.Insert_VendorsUsers 0,'','','','','','SYSADMIN',@EMailAddr,'','SYSADMIN',@Name,'','','','',@TaxRegNbr,0,0,@VendId,'','','','','0','0','',0,'I'
END
END
GO

lunes, 26 de enero de 2015

Insertar valores de una vista en una tabla

Necesitaba cargar todo el resultset de una vista que estaba en una base de datos a una tabla en otra base de datos para ello lo que realice fue

INSERT INTO BASERESPALDO.dbo.KPI_KamList
SELECT * FROM BASEORIGINAL.dbo.KPI_KamList

no especifique columnas ya que la tabla y la vista son idénticas 

martes, 10 de septiembre de 2013

Comparar Tabla y traer valores distintos

Se me pidio hacer un reporte de los articulos que no tiengan movimientos en el 2013
despues de darme golpes con el teclado encontre la respuesta

EXCEPT devuelve los valores distintos de la consulta izquierda que no se encuentran en la consulta derecha. 
INTERSECT devuelve los valores distintos devueltos por las consultas situadas a los lados izquierdo y derecho del operando INTERSECT.

Las reglas básicas para combinar los conjuntos de resultados de dos consultas que utilizan EXCEPT o INTERSECT son las siguientes: 

  • El número y el orden de las columnas debe ser el mismo en todas las consultas.
  • Los tipos de datos deben ser compatibles.


asi es como quedo el query para comparar

select distinct CodigoArt from inventarios  where Periodo  between '201201' and '201212' 
 EXCEPT 
 select distinct CodigoArt from inventarios  where Periodo  between '201301' and '201312'

miércoles, 10 de julio de 2013

Consulta SQL para agrupar contar y graficar en Excel

que tal lo que se me pidio fue lo siguiente:
"necesitamos una consulta a la base de datos en donde obtengamos cuantas entradas al almacen tenemos por medio de facturas de compra por dia y mes"

para hacer eso realize la siguiente consulta


select POReceipt.Crtd_DateTime, count (*) as 'num' from POReceipt
inner join Batch on POReceipt.BatNbr = Batch.BatNbr
and POReceipt.Crtd_User=Batch.Crtd_User and Batch.PerPost = '201307'
group by POReceipt.Crtd_DateTime order by POReceipt.Crtd_DateTime


esto lo que hace me trae un resultado como el siguiente:
Crt_Date_Time            num
2013-07-01 00:00:00    18
2013-07-02 00:00:00    29
2013-07-03 00:00:00    15
2013-07-05 00:00:00    23
2013-07-06 00:00:00    4
2013-07-09 00:00:00    26
2013-07-10 00:00:00    8

ya esto lo pasamos a excel y hacemos una grafica y obtenemos esto:



lunes, 21 de enero de 2013

Saber la Version de SQL Server

que tal si alguna vez necesitas saber que version de SQL Server con tan solo un Query haz la siguiente consulta
 SELECT SERVERPROPERTY('productversion'),SERVERPROPERTY('productlevel'),SERVERPROPERTY('edition') 
 que te devolvera la instalada