Sommaire: Télécharger Cours 4D – Référence SQL
Prise en mainé
Utiliser le SQL dans 4D
Commandes SQL
Règles de syntaxe
Transactions
Fonctions
Annexes
Liste alphabétique des commandes
Extrait du cours télecharger Cours 4D – Référence SQL
Introduction
Le SQL (Structured Query Language) est un langage standardisé utilisé pour créer, organiser, gérer et rechercher des informations stockées dans une base de données informatique. Le SQL n’est pas en soi un système de gestion de données, c’est à la fois une composante intégrée de ce système, un langage et une interface de communication avec ce système.
L’objet de ce chapitre n’est pas de vous enseigner le SQL (pour cela, vous pourrez trouver de nombreux liens et sites spécialisés sur Internet), ni le langage intégré de 4D (pour cela, reportez-vous au manuel Langage de 4D).
Ce chapitre a pour but de vous montrer comment faire cohabiter le code SQL et le code 4D, récupérer des données à l’aide des commandes SQL, passer des paramètres à une requête SQL et manipuler les résultats.
Description de la base de données support de cette prise en main
Tous les extraits de code exposés dans ce chapitre proviennent d’une base de données exemple nommée « 4D SQL Code Samples » que vous pouvez télécharger depuis notre serveur ftp. La structure de cette base est la suivante :
La table MOVIES regroupe des informations concernant environ 50 films, incluant le titre (Title), le réalisateur (Director), le genre (Category : Action, Animation, Comédie, Science-fiction, Drama, etc.), l’année de sortie (Year_of_Movie), la présence de sous- titres (Subtitles), le résumé (Summary), l’affiche (Poster), le support (Media : DVD, VHS, DivX), s’il est en noir et blanc (BlackAndWhite), un blog stocké dans un BLOB (Blog_on_movie) et le nombre d’entrées réalisées (Sold_Tickets).
La table ACTORS regroupe des informations concernant les acteurs : outre un numéro d’identification (ID), le nom et le prénom (LastName et FirstName), un commentaire (Comments) et un identifiant de la ville de naissance (Birth_City_ID) de l’acteur.
Recevoir le résultat d’une requête SQL dans une variable
Commençons par une requête très simple : nous voulons savoir combien de films contient notre vidéothèque. En langage 4D, cette requête peut s’écrire ainsi :
C_ENTIER LONG($AllMovies)
$AllMovies:=0
TOUT SELECTIONNER([MOVIES])
$AllMovies:=Enregistrements trouves([MOVIES])
ALERTE(« La videothèque contient »+Chaine($AllMovies)+ »films »)
La première façon d’interagir d’une manière similaire avec le moteur SQL est de placer la requête entre les balises Debut
SQL et Fin SQL. Ainsi, le code précédent devient :
C_ENTIER LONG($AllMovies)
$AllMovies:=0
Debut SQL
SELECT COUNT(*) FROM MOVIES
INTO <<$AllMovies>>
Fin SQL
ALERTE(« La videothèque contient »+Chaine($AllMovies)+ » films »)
Utiliser la clause WHERE
Nous souhaitons à présent savoir combien de films réalisés à partir de 1960 sont présents dans la base. Voici le code 4D correspondant à cette requête :
C_ENTIER LONG($NoMovies)
$NoMovies:=0
REDUIRE SELECTION([MOVIES];0)
CHERCHER([MOVIES];[MOVIES]Year_of_Movie>=1960)
$NoMovies:=Enregistrements trouves([MOVIES])
ALERTE(« La videothèque contient « +Chaine($NoMovies)+ » films réalisés depuis 1960″)
-En utilisant du code SQL :
C_ENTIER LONG($NoMovies)
$NoMovies:=0
REDUIRE SELECTION([MOVIES];0)
Debut SQL
SELECT COUNT(*) FROM MOVIES
WHERE Year_of_Movie >= 1960
INTO :$NoMovies;
Fin SQL
ALERTE(« La videothèque contient « +Chaine($NoMovies)+ » films réalisés depuis 1960″)
-En utilisant les commandes SQL génériques :
C_ENTIER LONG($NoMovies)
$NoMovies:=0
REDUIRE SELECTION([MOVIES];0)
SQL LOGIN(SQL_INTERNAL; » »; » »)
SQL EXECUTER(« SELECT COUNT(*) FROM MOVIES WHERE Year_of_Movie >= 1960 »;$NoMovies)
SQL CHARGER ENREGISTREMENT(SQLTousles enregistrements)
SQL LOGOUT
ALERTE(« La videothèque contient « +Chaine($NoMovies)+ » films réalisés depuis 1960″)