Je suis d'accord, vues, fonctions (valeurs de table si nécessaire) ou plus probable: les procédures stockées est la voie à suivre. Nous avons eu beaucoup de chance en laissant les procédures stockées générer des modèles de code complexes mais reproductibles à la volée en fonction des paramètres d'entrée et des métadonnées sur les tables en cours de traitement. Exemple: toutes les tables ont une 'contrainte unique' (qui n'est pas vraiment unique, mais cela n'a pas d'importance puisqu'elle n'est pas appliquée dans Netezza) qui a un nom fixe de UBK_ [nomtable] UBK est utilisé comme un «signal» pour la procédure stockée identifiant les colonnes de la clé BusinessKey pour une table de dimension type «style kimball» classique. Le fournisseur de services peut ensuite appliquer les lignes 'entrantes' à la table cible simplement en recevant le nom de la table cible et une table 'stage' contenant tous les mêmes noms de colonnes et types de données.
D'autres exemples pourraient être un SP qui prend un nom de table et trois arguments, chacun avec une chaîne, de, colonnes et fait un 'pivot de style excel' avec group-by sur les colonnes du premier argument et utilise le second argument de faire un 'select distinct' pour générer de nouveaux noms de colonne pour les colonnes pivotées, et fait une 'somme' sur la colonne dans le troisième argument dans une table cible vous spécifiez le nom pour ...
Pouvez-vous suis moi? Je pense que l'outil de ligne de commande nzsql peut être capable de faire un 'include', mais une combinaison de 'procédures stockées de blocs de construction' solides et perl/python et/ou un outil ETL sera probablement un meilleur choix