]>
Git — Sourcephile - tmp/julm/LesQuatreRoux.git/blob - sql/init/Prix.sql
2 CREATE CACHED
TABLE "Prix"
3 ( ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL
4 , date DATE DEFAULT CURRENT_DATE NOT NULL
5 , produit
INTEGER NOT NULL
6 , euros
DECIMAL(100,2) DEFAULT 0.00 NOT NULL
7 , CONSTRAINT "PK_Prix" PRIMARY KEY(ID)
8 , CONSTRAINT "FK_Prix_produit"
10 REFERENCES "Produit"(ID)
12 , CONSTRAINT "La combinaison (produit, date) d'un prix doit être unique"
13 UNIQUE (produit
, date)
16 DROP FUNCTION produit_maxdate
IF EXISTS CASCADE;
17 CREATE FUNCTION produit_maxdate(IN at_date
DATE)
18 RETURNS TABLE(produit
INTEGER, max_date
DATE)
22 (SELECT "Produit".
ID as produit
23 , MAX( date ) as max_date
25 JOIN "Produit" ON "Produit".
ID = "Prix".produit
32 DROP FUNCTION prix_à_date
IF EXISTS CASCADE;
33 CREATE FUNCTION prix_à
_date(IN at_date
DATE)
34 RETURNS TABLE(produit
INTEGER, "DATE" DATE, euros
DECIMAL)
38 (SELECT produit
, date, euros
39 FROM TABLE (produit_maxdate(at_date
)) as P
40 JOIN "Prix" ON "Prix".produit
= P.produit
41 AND "Prix".
date = P.max_date