Files
sql/syntaxe.md

60 lines
1.2 KiB
Markdown
Raw Permalink Normal View History

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 à laide de :
```sql
raise exception 'message';
```