J'ai une base de données avec deux tables. La table ssi_processed_files_prod
contient des informations sur le fichier, y compris la date de création et un booléen indiquant si les données ont été supprimées. La table data
contient les données réelles les références booléennes.Utilisation des ID sélectionnés dans l'alchimie SQL
Je veux obtenir une liste des ID âgés de plus de 45 jours à compter de la table file_info
, supprimer les lignes associées de la table data
, puis définissez le booléen de file_info
True pour indiquer que les données ont été supprimées.
file_log_test= Table('ssi_processed_files_prod', metadata, autoload=True, autoload_with=engine)
stmt = select([file_log_test.columns.id])
stmt = stmt.where(func.datediff(text('day'),
file_log_test.columns.processing_end_time, func.getDate()) > 45)
connection = engine.connect()
results = connection.execute(stmt).fetchall()
Cette requête renvoie les résultats corrects, cependant, je n'ai pas été en mesure de travailler efficacement avec la sortie.
Que signifie le fait de travailler correctement? – univerio
Mieux dit j'ai trouvé la documentation pour m'aider à comprendre comment créer une requête qui peut utiliser la sortie de l'ID de la requête ci-dessus pour faire l'opération de suppression et de mise à jour. Le code ci-dessus fonctionne bien. Ce sont les prochaines étapes avec lesquelles j'ai des problèmes. – Jeff