列ページ
SQL ベースのクエリでは、結果セットに含める (または、生成された SQL クエリの SELECT 句によって) オブジェクト・プロパティ (列) を指定する必要があります。
クエリに列を追加するには、利用できるプロパティリストの左側から項目を選択し、[>] ボタンを使用してその項目を右側のリストに移動します。プロパティをダブルクリックして移動することもできます。
条件ページ
SQL ベースのクエリでは、結果セットを制限する (または、生成された SQL クエリの SQL WHERE 句によって) 条件を指定できます。
条件を設定するには、一連のコンボ・ボックスから値を選択します。[表現] ボックスには、表現 (リテラル値など) やクエリ引数 (: コロン文字で始まる SQL ホスト変数など) を指定できます。
照合順ページ
SQL ベースのクエリでは、結果セットの並べ替え (生成された SQL クエリの SQL ORDER BY 句) に使用する列を指定できます。
新規クエリ・ウィザード実行の結果
新規クエリ・ウィザードを実行した後、クラス・エディタ・ウィンドウは更新され、新規のクエリ定義が表示されます。以下に例を示します。
/// This is a Person class
class MyApp.Person extends %Persistent
{
Query ByName(ByVal name As %String) As %SQLQuery(CONTAINID = 1)
{
SELECT ID,Name FROM Person
WHERE (Name %STARTSWITH :name)
ORDER BY Name
}
}
このクエリをさらに変更する場合は、クラス・エディタ、またはクラス・インスペクタを使用します。
ユーザ記述のクエリを指定した場合、クラス・エディタには新規のクエリ定義と、実装しようとしているクエリ・メソッドのスケルトンの両方が追加されます。以下に例を示します。
Class MyApp.Person Extends %Persistent
{
// ...
ClassMethod MyQueryClose(
ByRef qHandle As %Binary
) As %Status [ PlaceAfter = MyQueryExecute ]
{
Quit $$$OK
}
ClassMethod MyQueryExecute(
ByRef qHandle As %Binary,
ByVal aaa As %Library.String
) As %Status
{
Quit $$$OK
}
ClassMethod MyQueryFetch(
ByRef qHandle As %Binary,
ByRef Row As %List,
ByRef AtEnd As %Integer = 0
) As %Status [ PlaceAfter = MyQueryExecute ]
{
Quit $$$OK
}
Query MyQuery(
ByVal aaa As %Library.String
) As %Query(ROWSPEC = "C1,C2")
{
}
}