SQL Scripts.
Enviado por Jesús Arias • 5 de Abril de 2016 • Apuntes • 456 Palabras (2 Páginas) • 143 Visitas
--=====================================
-- Funciones
--=====================================
----------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE FUNCTION [dbo].[miprimerafuncion]
(
@miparametro INT
)
RETURNS Date
AS
BEGIN
DECLARE @FECHA2 DATE;
SET @FECHA2 = CAST( CAST(@miparametro AS VARCHAR(10) ) AS DATE);
RETURN @FECHA2
END
-------------------------------------------------------------------------------------------------------------------------------------------------------------
ALTER FUNCTION [dbo].[Fecha]
(
@fecha INT
)
RETURNS Date
AS
BEGIN
DECLARE @fecha2 DATE;
SET @fecha2 = CONVERT(Date, CAST(@fecha AS VARCHAR(10)), 102);
RETURN @Fecha2;
END
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Create Table Ventas(IdVentas Int,
Fecha date,
IdCliente Int,
Monto Decimal(20,5))
Create Table IdClientes(IdCliente Int,
NombreCliente VARCHAR(25))
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
/*Se seleccionan las n compras mas recientes de cada cliente en una lista de morosos*/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE Miprocedimiento
@fechaentero INT
AS
BEGIN
SET NOCOUNT ON;
TRUNCATE TABLE BaseDatosII.dbo.InfoClientes
INSERT INTO BaseDatosII.dbo.InfoClientes(Orden,
NombreCliente,
Fecha,
Monto,
IdVentas)
SELECT Orden,
NombreCliente,
Fecha,
Monto,
IdVentas
FROM (SELECT ROW_NUMBER()
OVER (PARTITION BY A.IdCliente Order By Fecha Desc) Orden,
A.IdCliente,
A.nombreCliente,
B.Fecha,
B.monto,
B.IdVentas
FROM BaseDatosII.dbo.IdClientes A
INNER JOIN BaseDatosII.dbo.Ventas B
ON A.IdCliente = B. IdCliente) C
WHERE C.Orden <3
...