Welcome Guest! Log in
×

Notice

The forum is in read only mode.
Due to some maintenance operations, stambia.org will be switched to read-only mode during the 13th November. It will be possible to read and download, but impossible to post on the forums or create new accounts. For any question please contact the support team.

Topic-icon Solved Rdbms Query metadata

More
19 Jul 2018 15:59 - 08 Aug 2018 09:27 #1 by Laurent D.
Laurent D. created the topic: Rdbms Query metadata
Bonjour,

Je voulais utiliser les Queries dans une Metadata de base de données et je n'ai pas réussi à utiliser mes requêtes SQL.
A part un SELECT simple, peut-on utiliser une requête SQL CTE (Common Table Expression) dans ce type de Metadata ?
Utiliser une requête SQL CTE m'éviterait de devoir faire un mapping de fou avec au moins 3 étapes de stage contenant des union.

Bonne journée,
Last Edit: 08 Aug 2018 09:27 by Thomas BLETON.
More
27 Jul 2018 17:48 #2 by Adrian MATYSIAK
Adrian MATYSIAK replied the topic: Rdbms Query metadata
Bonjour,

Pouvez-vous nous dire un peu plus sur votre besoin et le problème que vous avez rencontré en essayant d'utiliser ce type de requêtes ?
Quelle requête vous avez utilisé ?
Quel type de base de données ?
A priori si votre requête retourne des colonnes et peut être utilisée en tant que sous-requête, elle devrait fonctionner avec les Queries dans une Metadata.

Cordialement,
More
30 Jul 2018 13:50 #3 by Laurent D.
Laurent D. replied the topic: Rdbms Query metadata
Bonjour,

Je voulais utiliser ce type de requête SQL sur une base de données DB2 :

WITH UNIFORM_DISTRIBUTION (LEVEL, SAMPLE_VAL) AS (
SELECT 1, 1 FROM SYSIBM.SYSDUMMY1
UNION ALL
SELECT LEVEL + 1, INTEGER(RAND() * 10)
FROM UNIFORM_DISTRIBUTION
WHERE LEVEL < 100
)
SELECT SAMPLE_VAL, COUNT(*)
FROM UNIFORM_DISTRIBUTION
GROUP BY SAMPLE_VAL

Et lorsque je l'utilise en tant que query source, lors de la phase d'intégration, la requête SQL suivante est généré par Stambia ce qui génère une erreur :

select
random_level.NB_LEVEL,
random_level.SAMPLE_VAL,
'I' INCREMENTAL_FLAG
from (WITH UNIFORM_DISTRIBUTION (LEVEL, SAMPLE_VAL) AS (
SELECT 1, 1 FROM SYSIBM.SYSDUMMY1
UNION ALL
SELECT LEVEL + 1, INTEGER(RAND() * 10)
FROM UNIFORM_DISTRIBUTION
WHERE LEVEL < 100
)
SELECT SAMPLE_VAL, COUNT(*)
FROM UNIFORM_DISTRIBUTION
GROUP BY SAMPLE_VAL) random_level
More
30 Jul 2018 17:02 #4 by Adrian MATYSIAK
Adrian MATYSIAK replied the topic: Rdbms Query metadata
Bonjour,

Effectivement, on dirait que sur les bases de données DB2 (contrairement par exemples aux bases Oracle) on ne peut pas utiliser ce type de requête en tant que sous-requête :
stackoverflow.com/questions/37984236/sel...y-having-with-clause
Et c’est pour cette raison qu’elle ne fonctionne pas avec les templates standards.
Nous allons transmettre ce sujet à notre équipe R&D pour voir comment cela peut être intégré dans une version future de Stambia.

Pour l’instant vous pouvez effectivement faire un mapping avec des stages ou bien vous pouvez envisager de préparer un template/process spécifique pour charger les données retournées par cette requête dans la table d’intégration ou de load (en fonction de vos besoins).
Si vous avez besoin de plus d’info là-dessus je vous invite à ouvrir un ticket auprès du support.

Cordialement,
Adrian MATYSIAK
More
31 Jul 2018 14:43 #5 by Laurent D.
Laurent D. replied the topic: Rdbms Query metadata
Merci pour l'info.
Pour l'instant je vais me servir des Queries pour stocker les requêtes SQL et l’exécuter dans des SQL Opération.