QueryDefinition
Core library QueryDefinition — SQL query activities (add, retrieve, update, remove, perform).
QueryDefinition manages Query Activities: SQL text, target Data Extension, update type, and execution via Perform("start").
Requires Platform.Load("core", "1.1.5") before use.
Methods
| Method | Returns | Description |
|---|---|---|
QueryDefinition.Init(key) |
QueryDefinitionInstance | Bind by external key |
QueryDefinition.Add(properties) |
string | Create a query definition |
QueryDefinition.Retrieve(filter) |
object[] | Query definitions (simple or compound filters) |
<QueryDefinitionInstance>.Update(properties) |
string | Update the initialized definition |
<QueryDefinitionInstance>.Remove() |
string | Delete the definition |
<QueryDefinitionInstance>.Perform(action) |
string | Run the query (action: "start") |
QueryDefinition.Init
Initializes a QueryDefinition instance from its external key. Required before calling instance methods (Update, Remove, Perform).
Syntax
QueryDefinition.Init(key)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
key |
string | Yes | External key of the query definition |
Return value
QueryDefinitionInstance
Examples
Platform.Load("core", "1");
var qd = QueryDefinition.Init("myQueryDef");
QueryDefinition.Add
Creates a new Query Activity. Optional CategoryID places the query in a folder.
Syntax
QueryDefinition.Add(properties)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
properties |
object | Yes | Name, CustomerKey, TargetUpdateType, TargetType, Target, QueryText, … |
Return value
"OK" on success.
Examples
Platform.Load("core", "1.1.5");
var queryDef = {
Name: "Example Query Definition",
CustomerKey: "myQueryDef",
TargetUpdateType: "Overwrite",
TargetType: "DE",
Target: { Name: "Example Target DE", CustomerKey: "example_target_de" },
QueryText: "SELECT SubKey, Email, Name FROM [Example Target DE] where FavoriteItemID=77"
};
var status = QueryDefinition.Add(queryDef);
QueryDefinition.Retrieve
Returns query definitions matching the filter.
Syntax
QueryDefinition.Retrieve(filter)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
filter |
object | Yes | WSProxy-style filter |
Return value
object[] — may include nested DataExtensionTarget information.
Examples
Platform.Load("Core", "1");
var result = QueryDefinition.Retrieve({
Property: "Status",
SimpleOperator: "equals",
Value: "Active"
});
Write(Stringify(result));
<QueryDefinitionInstance>.Update
Updates attributes on the initialized query definition, including QueryText.
Syntax
<QueryDefinitionInstance>.Update(properties)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
properties |
object | Yes | Attributes to change (including QueryText) |
Return value
"OK" on success.
Examples
Platform.Load("core", "1.1.5");
var qd = QueryDefinition.Init("myQueryDef");
var status = qd.Update({
Name: "Updated Query Definition Name",
QueryText: "SELECT SubKey, Email, Name FROM [Example Target DE] where FavoriteItemID=12"
});
<QueryDefinitionInstance>.Remove
Deletes the query definition bound to this instance.
Syntax
<QueryDefinitionInstance>.Remove()
Return value
"OK" on success.
Examples
Platform.Load("core", "1.1.5");
var qd = QueryDefinition.Init("myQueryDef");
var status = qd.Remove();
<QueryDefinitionInstance>.Perform
Runs the SQL and writes results to the configured target Data Extension. Use "start" as the action.
Syntax
<QueryDefinitionInstance>.Perform(action)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
action |
string | Yes | "start" |
Return value
"OK" on success.
Examples
Platform.Load("core", "1");
var qd = QueryDefinition.Init("MY_QUERY_KEY");
var result = qd.Perform("start");
Write(Stringify(result));