SQLクエリの引数に (年をハードコードするのではなく) 年を格納した変数を渡し、1960年以降に公開された映画の情報を取得する方法を見てみましょう。取得する情報はタイトルの他、公開年、ディレクター、メディア、販売チケット数です。取得した情報は配列やリストボックスに受け取ります。
 - SQLコードでは上記のクエリが以下のようになります:
 ARRAY LONGINT(aSoldTickets;0)
 ARRAY INTEGER(aMovieYear;0)
 ARRAY TEXT(aTitles;0)
 ARRAY TEXT(aDirectors;0)
 ARRAY TEXT(aMedias;0)
 C_LONGINT($MovieYear)
 
 $MovieYear:=1960
 Begin SQL
    SELECT Year_of_Movie, Title, Director, Media, Sold_Tickets
    FROM MOVIES
    WHERE Year_of_Movie >= :$MovieYear
    INTO :aMovieYear, :aTitles, :aDirectors, :aMedias, :aSoldTickets;
 End SQL
  
 ARRAY LONGINT(aNrActors;Size of array(aMovieYear))
 
ご覧頂いたとおり:
 - 変数 ($MovieYear) を引数としてSQLクエリに渡すことができます。値を受け取る際と同じ記法です。
 - SQLクエリ結果は配列aMovieYear、aTitles、aDirectories、aMedias、そしてaSoldTicketsに格納されます。この結果はメインウィンドウ中で二つの方法で表示されます:
- グループ化されたスクロールエリア:

 - 同じ名称の列名を持つリストボックス:

 
 
- 汎用SQLコマンドの場合:
 ARRAY LONGINT(aSoldTickets;0)
 ARRAY INTEGER(aMovieYear;0)
 ARRAY TEXT(aTitles;0)
 ARRAY TEXT(aDirectors;0)
 ARRAY TEXT(aMedias;0)
 C_LONGINT($MovieYear)
 C_TEXT($tQueryTxt)
 
 REDUCE SELECTION([MOVIES];0)
 $MovieYear:=1960
 SQL LOGIN(SQL_INTERNAL;"";"")
 $tQueryTxt:=""
 $tQueryTxt:=$tQueryTxt+"SELECT Year_of_Movie, Title, Director, Media, Sold_Tickets"
 $tQueryTxt:=$tQueryTxt+" FROM MOVIES"
 $tQueryTxt:=$tQueryTxt+" WHERE Year_of_Movie >= :$MovieYear"
 SQL EXECUTE($tQueryTxt;aMovieYear;aTitles;aDirectors;aMedias;aSoldTickets)
 SQL LOAD RECORD(SQL all records)
 SQL LOGOUT
  
 ARRAY LONGINT(aNrActors;Size of array(aMovieYear)) 
- QUERY BY SQLコマンドの場合:
 ARRAY LONGINT(aSoldTickets;0)
 ARRAY INTEGER(aMovieYear;0)
 ARRAY TEXT(aTitles;0)
 ARRAY TEXT(aDirectors;0)
 ARRAY TEXT(aMedias;0)
 C_LONGINT($MovieYear)
 
 REDUCE SELECTION([MOVIES];0)
 $MovieYear:=1960
 QUERY BY SQL([MOVIES];"Year_of_Movie >= :$MovieYear")
 SELECTION TO ARRAY([MOVIES]Year_of_Movie;aMovieYear;[MOVIES]Title;aTitles;[MOVIES]Director;aDirectors;[MOVIES]Media;aMedias;[MOVIES]Sold_Tickets;aSoldTickets)
  
 ARRAY LONGINT(aNrActors;Size of array(aMovieYear)) 
- SQLのEXECUTE IMMEDIATEコマンドを使用した場合:
 ARRAY LONGINT(aSoldTickets;0)
 ARRAY INTEGER(aMovieYear;0)
 ARRAY TEXT(aTitles;0)
 ARRAY TEXT(aDirectors;0)
 ARRAY TEXT(aMedias;0)
 C_LONGINT($MovieYear)
 C_TEXT($tQueryTxt)
 
 REDUCE 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+" INTO :aMovieYear, :aTitles, :aDirectors, :aMedias, :aSoldTickets;"
 Begin SQL
    EXECUTE IMMEDIATE :$tQueryTxt;
 End SQL
  
 ARRAY LONGINT(aNrActors;Size of array(aMovieYear))
 
これらをテストするには、4D SQL Code Samplesデータベースを起動してメインウィンドウを表示させます。クエリモードを選択してSQL query  results in arraysボタンをクリックします。