2025-11-07 13:07:30 +01:00
|
|
|
|
# Syntaxe PostgreSQL
|
|
|
|
|
|
|
2025-11-07 14:12:24 +01:00
|
|
|
|
## Incrément automatique
|
|
|
|
|
|
|
|
|
|
|
|
Créer une colonne id (identifiant) clé primaire avec incrémentation automatique
|
|
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
|
id bigint primary key generated always as identity
|
|
|
|
|
|
```
|
2025-11-08 08:04:05 +01:00
|
|
|
|
- entier sur 64 bits : `bigint`
|
|
|
|
|
|
- clé primaire : `primary key`
|
|
|
|
|
|
- incrément automatique : `generated always as identity`
|
2025-11-07 14:12:24 +01:00
|
|
|
|
|
2025-11-08 08:04:05 +01:00
|
|
|
|
## Fonctions date et heure
|
|
|
|
|
|
|
|
|
|
|
|
- `current_date` : date actuelle
|
|
|
|
|
|
- `current_time` : heure actuelle
|
|
|
|
|
|
- `current_timestamp` : date et heure actuelle
|
|
|
|
|
|
- `now()` : date et heure actuelle (fonction historique conservée)
|
|
|
|
|
|
|
|
|
|
|
|
Créer une colonne `creation_date` de type `timestamp` date et heure avec comme valeur par défaut la date et l'heure d'exécution.
|
2025-11-07 14:13:06 +01:00
|
|
|
|
|
|
|
|
|
|
```sql
|
2025-11-08 08:04:05 +01:00
|
|
|
|
creation_date timestamp default now()
|
2025-11-07 14:13:06 +01:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-11-07 13:07:30 +01:00
|
|
|
|
## Procédures stockées
|
|
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
|
create or replace procedure nom_procedure(paramètres)
|
|
|
|
|
|
language plpgsql
|
|
|
|
|
|
as $$
|
|
|
|
|
|
declare
|
|
|
|
|
|
-- variables locales
|
|
|
|
|
|
begin
|
2025-11-08 08:04:05 +01:00
|
|
|
|
-- instructions SQL de la fonction
|
2025-11-07 13:07:30 +01:00
|
|
|
|
end;
|
|
|
|
|
|
$$;
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Pour appeler la procédure stockée
|
|
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
|
call nom_procedure('Félicien', 'Hébrard', '1970-10-15');
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Afficher des messages
|
|
|
|
|
|
|
|
|
|
|
|
Pour afficher un message de réussite :
|
|
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
|
raise notice 'message %', variable;
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Vous pouvez déclencher une erreur métier à l’aide de :
|
|
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
|
raise exception 'message';
|
|
|
|
|
|
```
|