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表からteamIdが301であるチームの要求された情報をフェッチします。リテラル値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.