import com.servicemax.core.Database;
def records = Database.query("select * from io_showcase where io_name = 'UI Unit Test Sample Record 2'")
// Select all the Showcase Details whose parent Showcase's Name is 'UI Unit Test Sample Record 2'.
// For each record filtered, eager-load its parent's Name and 'Created On' fields
def records = Database.query("SELECT io_showcase.io_name, io_showcase.io_created_on FROM io_showcase_detail"
+ " WHERE io_showcase.io_name = 'UI Unit Test Sample Record 2'")
// Select all the Showcase Details whose parent Showcase was created by user 'system'.
// For each record filtered, eager-load its parent's Name and 'Created On' fields
def records = Database.query("SELECT io_showcase.io_name, io_showcase.io_created_on FROM io_showcase_detail"
+ " WHERE io_showcase.io_created_by.io_username = 'system'")
def records = Database.query("SELECT * FROM io_showcase WHERE io_showcase_date = '2013-07-09'")
def records = Database.query("SELECT * FROM io_showcase WHERE io_name LIKE 'UI Unit Test Sample Record%'")
def records = Database.query("SELECT * FROM io_showcase WHERE io_showcase_option_list IN ('Option 2', 'Option 1')")
def names = [];
names << "UI Unit Test Sample Record";
names << "UI Unit Test Sample Record 2";
def records = Database.query("SELECT * FROM io_showcase WHERE io_name IN :list", [list:names])
def users = ['system', 'developer'];
//Select all the Showcase records which owner is 'system' or 'developer'
def records = com.servicemax.core.Database.query("SELECT * FROM io_showcase WHERE io_owner.io_username IN :users", [users: users]);
// Select all the Documents related to Pages which url begins with '/resource'
Database.query("select * from io_document where io_related_to[io_page].io_url like '/resources%'")
// Select all the Documents related to Pages which url begins with '/resource' or related to Themes whose name begins with ServiceMax.
// For each record filtered, retrieve all the fields for its related record.
Database.query("select io_related_to[io_page].*, io_related_to[io_theme].* from io_document " +
"where io_related_to[io_page].io_url like '%/resources%' or io_related_to[io_theme].io_name like '%ServiceMax%'")
// Select all the Documents related to Pages created by 'system' user
Database.query("select * from io_document where io_related_to[io_page].io_created_by.io_username = 'system'")
|
|
Because io_related_to is a dynamic relationship field with multiple targets, you must specify the full identifier of the intended target object enclosed between square brackets ([ ]).
|
def records = Database.queryObject("SELECT COUNT() FROM io_showcase")
def records = Database.queryObject("SELECT COUNT() FROM io_showcase WHERE io_name = 'UI Unit Test Sample Record'");
def records = Database.queryObject("SELECT COUNT() FROM io_showcase WHERE io_name LIKE 'UI Unit Test Sample Record%'");
def list1 = [];
list1 << "Option 1";
list1 << "Option 2";
def list2 = [];
list2 << "UI Unit Test Sample Record";
list2 << "UI Unit Test Sample Record 2";
def records = Database.query("SELECT * FROM io_showcase"
+ " WHERE io_showcase_option_list IN :LIST1 AND io_name IN :list2", [LIST1: list1, list2: list2]);
Query With SMQL WHERE Condition Having Several Parameters
def params = [:];
params["date_param"] = "2012-12-01";
params["integer_param"] = 30;
params["text_param"] = "UI Unit Test Sample Record";
def records = Database.query("SELECT * FROM io_showcase"
+ " WHERE io_showcase_date >= :date_param"
+ " AND (io_name = :text_param OR io_showcase_integer > :integer_param)", params);
def records = Database.query("SELECT * FROM io_showcase ORDER BY io_name DESC");
def records = Database.query("SELECT * FROM io_showcase_detail ORDER BY io_showcase.io_showcase_integer DESC, io_amount DESC");
def records = Database.query("SELECT * FROM io_showcase ORDER BY io_showcase_integer ASC LIMIT 3 OFFSET 2");
def records = Database.query("SELECT * FROM io_showcase ORDER BY io_showcase_interval ASC NULLS LAST");
def records = Database.query("SELECT * FROM io_showcase ORDER BY io_showcase_integer LIMIT 2");
def records = Database.query("SELECT * FROM io_showcase ORDER BY io_name ASC LIMIT ALL");
def records = Database.query("SELECT * FROM io_showcase ORDER BY io_showcase_integer LIMIT 3 OFFSET 2");
def records = Database.query("select * from io_showcase");
def records = Database.query("select * from io_event where Type(io_related_to) = 'io_user'")
def records = Database.query("select * from io_event where Type(io_related_to) != 'io_account'")
def records = Database.query("select * from io_event where Type(io_related_to) IN ('io_user', 'io_role')")
def records = Database.query("select * from io_event where Type(io_related_to) NOT IN ('io_account', 'io_task')")
def records = Database.query("select * from io_event where Type(io_related_to) IS NULL")
def records = Database.query("select * from io_event where Type(io_related_to) IS NOT NULL")
def objects = ['io_user', 'io_role']
def records = Database.query("select * from io_event where Type(io_related_to) IN :list", [list: objects])
|
|
To compare against the Type function result, use the object’s full identifier or UUID.
|
def records = Database.query("select * from io_showcase where io_showcase_address[3] = 'Pleasanton'")
def records = Database.query("select * from io_showcase where io_showcase_address[3] IN ('Pleasanton', 'London')")
def records = Database.query("select * from io_showcase where io_showcase_address[3] IS NOT NULL")
def records = Database.query("select * from io_showcase where io_showcase_address[2] like '%Hopyard%'")
def records = Database.query("select * from io_showcase ORDER BY io_showcase_address[9]")
def records = Database.query("select * from io_showcase ORDER BY io_showcase_address[9] NULLS FIRST")
def records = Database.query("select * from io_event order by io_related_to[1]")
|
|
Index values start at 0.
|
def records = com.servicemax.core.Database.query("select * from io_showcase where io_created_on >= today()")
records = com.servicemax.core.Database.query("select * from io_showcase where io_updated_on >= beginning_of_week()")
records = com.servicemax.core.Database.query("select * from io_showcase where io_created_on >= beginning_of_month()")
records = com.servicemax.core.Database.query("select * from io_showcase where io_created_on >= beginning_of_year()")
records = com.servicemax.core.Database.query("select * from io_showcase where io_created_on < beginning_of_year() - '2 years'")
records = com.servicemax.core.Database.query("select * from io_showcase where io_showcase_date <= beginning_of_month() - '2 months'")
records = com.servicemax.core.Database.query("select * from io_showcase where io_showcase_date < today() and io_showcase_date >= today() - '1 day'")
def field = Database.query("select io_uuid from io_field where io_identifier = 'date_format_op'").get(0)
def objects = Database.query("select io_identifier from io_object where is_related_to('io_fields',:id)", [id:field.io_uuid])
def field = Database.query("select io_uuid from io_field where io_identifier = 'date_format_op'").get(0)
def objects = Database.query("select io_identifier from io_object where not(is_related_to('io_fields',:id))", [id:field.io_uuid])
def obj = Database.query("select io_uuid from io_object where io_identifier = 'showcase'").get(0)
def fields = Database.query("select io_identifier from io_field where is_related_to('io_fields',:id)", [id:obj.io_uuid])
def app = Database.query("select io_uuid from io_application where io_identifier = 'Max'").get(0)
def records = Database.query("select * from io_object where is_related_to('io_object_application',:id)", [id:app.io_uuid])
def app = Database.query("select io_uuid from io_application where io_identifier = 'Max'").get(0)
def records = Database.query("select * from io_object where not(is_related_to('io_object_application',:id))", [id:app.io_uuid])
def showcase_details = Database.query("select io_uuid from io_showcase_detail").collect{it.io_uuid}
def records = Database.query("select * from io_showcase where is_related_to('io_showcase_detail_showcase',:ids)", [ids:showcase_details])
def docPages = Database.query("select io_uuid from io_page where io_title like '%Documentation%' and io_parent_page is not null").collect{it.io_uuid}
def parents = Database.query("select * from io_page where is_related_to('io_page_parent_page',:ids)", [ids:docPages])
def showcase = Database.query("select io_uuid from io_showcase where io_name = 'UI Unit Test Sample Record'").get(0)
def relUUID = UUID.fromString('294f54f3-440b-47d6-b81e-4556f959cb64')
def records = Database.query("select * from io_showcase_detail where is_related_to(:relUUID,:id)", [relUUID:relUUID,id:showcase.io_uuid])
operation('operation_full_identifier', 'parameter1', value1, 'parameter2', value2, ...)
Database.query("select * from svmx_job where svmx_country = operation('io_my', 'field', 'core_user_country')")