passing句でのリテラルの使用

GraphQL変数のpassing句を使用すると、表関数で変数の固定値を直接使用できるため、バインド変数が不要になります。

例3-17 GraphQL変数のpassing句での数値リテラルの使用

SELECT JSON_SERIALIZE(data PRETTY) AS data FROM GRAPHQL('
    team (id: $teamId) {
        id: team_id
        name
        points
    }
' passing 301 as "teamId");

前述のコードは、team表からteamId301であるチームの要求された情報をフェッチします。リテラル値301は、GraphQL変数のpassing句を使用して渡されています。

DATA                                                                           
--------------------------------------------------------------------------------
{                                                                              
  "id" : 301,                                                                  
  "name" : "McLaren Mercedes",                                                 
  "points" : 666                                                               
}                                                                              
                                                                                 
 
1 row selected.

同様に、値を一重引用符で囲んで文字(文字列)リテラルを渡すこともできます。

例3-18 GraphQL変数のpassing句での文字列リテラルの使用

SELECT JSON_SERIALIZE(data PRETTY) AS data FROM GRAPHQL('
    team (name: $teamName) {
        id: team_id
        name
        points
    }
' passing 'Ferrari' as "teamName");
前述の例では、team表からチームのnameが「Ferrari」であるチームの要求された情報をフェッチしています。
DATA                                                                           
--------------------------------------------------------------------------------
{                                                                              
  "id" : 302,                                                                  
  "name" : "Ferrari",                                                          
  "points" : 652                                                               
}                                                                              
                                                                                 
 
1 row selected.