Como: Referência: |
A função DB_EXPR insere uma expressão SQL nativa exatamente como inserida na SQL nativa gerada para uma solicitação de linguagem FOCUS ou SQL.
A função DB_EXPR pode ser utilizada em um comando DEFINE, um DEFINE em um Arquivo Master, uma cláusula WHERE, um comando FILTER FILE, um filtro em um Arquivo Master ou em uma declaração SQL. Ela pode ser usada em um comando COMPUTE caso a solicitação seja de agregação (utiliza o comando SUM, WRITE ou ADD) e possua um comando de exibição simples. A expressão deve retornar um valor simples.
DB_EXPR(native_SQL_expression)
onde:
É uma string parcial SQL nativa válida para a inserção no SQL gerado pela solicitação. A string SQL deve possuir aspas duplas (") em volta de cada referência de campo, a não ser que a função seja utilizada em um DEFINE com uma frase WITH.
A solicitação TABLE a seguir na fonte de dados WF_RETAIL utiliza a função DB_EXPR no comando COMPUTE para chamar duas funções DB2. Ela chama a função BIGINT para converter a renda quadrada em um tipo de dado BIGINT e, em seguida, utiliza a função CHAR para converter aquele valor em alfanumérico.
TABLE FILE WF_RETAIL SUM REVENUE NOPRINT AND COMPUTE BIGREV/A31 = DB_EXPR(CHAR(BIGINT("REVENUE" * "REVENUE") ) ) ; AS 'Alpha Square Revenue' BY REGION ON TABLE SET PAGE NOPAGE END
WF_RETAIL é uma fonte de dados de exemplo que você pode criar clicando com o botão direito em um aplicativo no Console da Web do Servidor de Relatórios selecionando Novo e, em seguida, Exemplos no menu de contexto.
O rastro mostra que a expressão da função DB_EXPR foi inserido nadeclaração DB2 SELECT:
SELECT
T11."REGION",
SUM(T1."Revenue"),
((CHAR(BIGINT( SUM(T1."Revenue") * SUM(T1."Revenue")) ) ))
FROM
wrd_fact_sales T1,
wrd_dim_customer T5,
wrd_dim_geography T11
WHERE
(T5."ID_CUSTOMER" = T1."ID_CUSTOMER") AND
(T11."ID_GEOGRAPHY" = T5."ID_GEOGRAPHY")
GROUP BY
T11."REGION "
ORDER BY
T11."REGION "
FOR FETCH ONLY;
END
A saída é:
Information Builders |