SQL

Description

Sets or returns the SQL string associated with the query.

If you assign a value to this property, the QueryDef object uses your string instead of the terms you have built using other methods of the QueryDef object.

If you get the value of this property, the QueryDef object returns the SQL string that will be executed when the query is run. If you had assigned a SQL string to this property earlier, that string is returned; otherwise, this method generates a SQL string from the terms that have been added to the QueryDef object so far.

Note: When using SQL statements in HCL Compass queries, the SQL statements must include database column names and not field names. Corresponding database column names and field names may not be identical to each other if the field name:
  • Contains words that are reserved by SQL.
  • Is renamed after a schema revision is applied to at least one user database.

Syntax

VBScript

querydef.SQL 
querydef.SQL string_of_SQL_statements 

Perl

$querydef->GetSQL();
$querydef->SetSQL(string_of_SQL_statements); 
Identifier
Description
querydef
A QueryDef object.
string_of_SQL_statements
A String containing the individual SQL statements.
Return value
For the Get, returns a String containing the SQL that will be executed when the query is run.

For the Set, no return value. Returns an exception if user does not have SQL writer privilege.

Examples

VBScript


set session = GetSession

set workspace = session.GetWorkSpace

'Get the QueryDef by supplying a query name
set querydef = workspace.GetQueryDef "Public Queries\Defects"

'Provide a string of SQL statements to set SQL
querydef.SQL "select distinct T1.dbid,T1.id,T1.headline from Defect 
T1,statedef T2 where T1.state = T2.id and (T1.dbid <> 0 and (T2.name = 
'Submitted'))" 

Perl


$workspace = $session->GetWorkSpace();

$querydef = $workspace->GetQueryDef(queryName);

$querydef->SetSQL("select distinct T1.dbid,T1.id,T1.headline from Defect 
T1,statedef T2 where T1.state = T2.id and (T1.dbid <> 0 and (T2.name = 
'Submitted'))");