60 lines
1.2 KiB
Markdown
60 lines
1.2 KiB
Markdown
# 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 à l’aide de :
|
||
|
||
```sql
|
||
raise exception 'message';
|
||
```
|