Files
sql/syntaxe.md
2025-11-08 08:04:05 +01:00

60 lines
1.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Syntaxe PostgreSQL
## Incrément automatique
Créer une colonne id (identifiant) clé primaire avec incrémentation automatique
```sql
id bigint primary key generated always as identity
```
- entier sur 64 bits : `bigint`
- clé primaire : `primary key`
- incrément automatique : `generated always as identity`
## 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.
```sql
creation_date timestamp default now()
```
## Procédures stockées
```sql
create or replace procedure nom_procedure(paramètres)
language plpgsql
as $$
declare
-- variables locales
begin
-- instructions SQL de la fonction
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 à laide de :
```sql
raise exception 'message';
```