QueryDefinition manages Query Activities: SQL text, target Data Extension, update type, and execution via Perform("start").

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));

See also

See Also