Je suis en train d'obtenir le nombre de lignes de la liste des tables où toutes les colonnes de la table devrait avoir Col_year = 1994.Python + SQL: Comment exécuter une procédure à partir de python? [PAS APPELER la procédure stockée]
Il cela est possible dans sql avec des boucles d'écriture en python, comme il faudrait beaucoup de coup de DB.
Pour ce faire, j'ai écrit un proc comme ci-dessous:
DECLARE
l_counter NUMBER;
tot_counter NUMBER;
v_sql varchar2(10000);
cursor c1 is
select table_name from ALL_TABLES
where table_name in ("Table1", "Table2", "Table3");
BEGIN
tot_counter := 0;
FOR rec IN c1 LOOP
v_sql := 'select count(*) from '|| rec.table_name ||' where Col_year = 1994';
EXECUTE IMMEDIATE v_sql INTO l_counter;
tot_counter := tot_counter + l_counter;
DBMS_OUTPUT.PUT_LINE(rec.table_name || ' l_counter ' || l_counter || ' tot_counter ' || tot_counter);
END LOOP;
END;
Comment appeler cela de python?
La situation est que je ne peux pas créer cela dans la base de données réelle, car c'est juste un but temporaire. Par conséquent, je cherche quelque chose comme cursor.executeproc() insteat de cursor.callproc()? Est-ce possible?
Vous devez ajouter la base de données, la version et l'adaptateur utilisés. –
L'idée est d'exécuter dynamiquement une procédure ... Le scrip fait partie du code python. Par conséquent, je veux créer cette procédure dans la base de données. – neoman1