]> Git — Sourcephile - tmp/julm/LesQuatreRoux.git/blob - sql/init/Produit.sql
dev sql
[tmp/julm/LesQuatreRoux.git] / sql / init / Produit.sql
1 \p CREATE TABLE Produit
2 CREATE CACHED TABLE "Produit"
3 ( ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL
4 , nom VARCHAR(100) NOT NULL
5 , unité VARCHAR(100)
6 , quantité DECIMAL(100,3) DEFAULT 1.000 NOT NULL
7 , conditionnement VARCHAR(100)
8 , CONSTRAINT "PK_Produit" PRIMARY KEY(ID)
9 , CONSTRAINT "La combinaison (nom, quantité, conditionnement) d'un produit doit être unique"
10 UNIQUE (nom, quantité, conditionnement)
11 );
12
13 DROP FUNCTION choisirUnProduit IF EXISTS CASCADE;
14 CREATE FUNCTION choisirUnProduit()
15 RETURNS TABLE(nom_complet VARCHAR(100), ID INTEGER)
16 READS SQL DATA
17 BEGIN ATOMIC
18 RETURN TABLE
19 (SELECT nom || ' ('
20 || RTRIM(RTRIM(TO_CHAR(quantité),'0'),'.')
21 || nvl(unité,'')
22 || ')'
23 AS nom_complet
24 , ID
25 FROM "Produit"
26 );
27 END;
28 .;