2017-03-17 1 views
0

J'ai une simple requête de sélection à partir d'un script python pour sélectionner les données de Teradata DB indiqués ci-dessous,Teradata Python: teradata.api.InterfaceError

session.execute ("sélectionner v_column distinct de a_table où a_column en()? ", (valeur))

La valeur dans ce cas est un tuple avec des valeurs dérivées d'un autre groupe de requêtes.

Cette requête fonctionne très bien si je transmets la valeur de la variable. Pour tout ce qui est supérieur à 1, j'ai dû modifier ma requête pour qu'elle contienne plus d'espaces comme ceci (?,?).

Je voulais faire de cette place dynamique ou générique qui peut fonctionner indépendamment. J'ai essayé quelques options et ne semble pas avoir de sens pour moi. De meilleures suggestions?

erreur avec espace réservé unique avec plus d'une valeur: teradata.api.InterfaceError: (« PARAMS_MISMATCH », « Le nombre de paramètres fournis (2) ne correspond pas au nombre de paramètres attendu (1). »)

Répondre

0

jamais l'esprit, il a travaillé à l'aide de la nouvelle façon de travailler avec les détenteurs de place "{}" format()

travail requête:. session.execute ("select v_column distinct de a_table où a_column dans {}" .format (valeur))