📚 Cheatsheet

Une collection organisée de snippets de code pour accélérer votre développement. Parcourez, recherchez et copiez en un clic.

Snippets 11

Retour
Colonne spéciale ROWID
Intermédiaire
SELECT rowid, * FROM utilisateurs;
Créer un trigger (AFTER INSERT)
Avancé
CREATE TRIGGER log_insertion_utilisateur AFTER INSERT ON utilisateurs
BEGIN
    INSERT INTO logs (message) VALUES ('Nouvel utilisateur : ' || NEW.nom);
END;
Créer un trigger (BEFORE DELETE)
Avancé
CREATE TRIGGER empecher_suppression_admin BEFORE DELETE ON utilisateurs
WHEN OLD.role = 'admin'
BEGIN
    SELECT RAISE(ABORT, 'Impossible de supprimer un administrateur');
END;
Créer une vue
Intermédiaire
CREATE VIEW vue_clients_actifs AS SELECT id, nom, email FROM utilisateurs WHERE actif = 1;
CTE (Common Table Expression) avec WITH
Avancé
WITH clients_region AS (
    SELECT * FROM clients WHERE region = 'Europe'
)
SELECT nom FROM clients_region WHERE pays = 'France';
CTE récursive (exemple)
Avancé
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<10)
SELECT x FROM cnt;
Fonctions de fenêtre (Window Functions)
Avancé
SELECT nom, salaire, RANK() OVER (PARTITION BY departement ORDER BY salaire DESC) as rang
FROM employes;
Supprimer un trigger
Facile
DROP TRIGGER log_insertion_utilisateur;
Supprimer une vue
Facile
DROP VIEW vue_clients_actifs;
Table sans ROWID
Avancé
CREATE TABLE ma_table ( a TEXT, b REAL, PRIMARY KEY(a) ) WITHOUT ROWID;
Utiliser une vue
Facile
SELECT * FROM vue_clients_actifs;