Nous souhaitons désormais récupérer tous les films tournés depuis 1960 et, pour chaque film, l'année, le titre, le réalisateur, le support media et le nombre d'entrées. Le résultat devra être trié par année.
Voici le code 4D correspondant à cette requête :
- En utilisant du code SQL :
- En utilisant les commandes SQL génériques :
- En utilisant la commande SQL dynamique EXECUTE IMMEDIATE :
TABLEAU ENTIER LONG(aNrActors;0)
C_TEXTE($tQueryTxt)
TABLEAU ENTIER LONG(aSoldTickets;0)
TABLEAU ENTIER(aMovieYear;0)
TABLEAU TEXTE(aTitles;0)
TABLEAU TEXTE(aDirectors;0)
TABLEAU TEXTE(aMedias;0)
C_ENTIER LONG($MovieYear)
REDUIRE SELECTION([MOVIES];0)
$MovieYear:=1960
$tQueryTxt:=""
$tQueryTxt:=$tQueryTxt+"SELECT Year_of_Movie, Title, Director, Media, Sold_Tickets"
$tQueryTxt:=$tQueryTxt+" FROM MOVIES"
$tQueryTxt:=$tQueryTxt+" WHERE Year_of_Movie >= :$MovieYear"
$tQueryTxt:=$tQueryTxt+" ORDER BY 1"
$tQueryTxt:=$tQueryTxt+" INTO :aMovieYear, :aTitles, :aDirectors, :aMedias, :aSoldTickets;"
Debut SQL
EXECUTE IMMEDIATE :$tQueryTxt;
Fin SQL
Pour tester tous ces exemples, lancez la base "4D SQL Code Samples" et affichez la boîte de dialogue principale. Choisissez le mode d'interrogation du moteur de 4D et cliquez sur le bouton Clause ORDER BY.