Veritabanı dinamik sorgu tavsiye

Bu tarz farklı sorguları farklı tablolar için de geçerli 10-15 tane sorgu oluyor. Bunları dinamik hale getirmek mantıklı mı, yoksa böylesi daha mı doğru?

    def all_staff(self):
        database.imlec.execute("SELECT * FROM staff")
        result = database.imlec.fetchall()
        return result
 
    def get_staff(self, id_staff):
        database.imlec.execute("SELECT * FROM staff WHERE id = ?", (id_staff, ))
        result = database.imlec.fetchone()
        return result
 
    def query_staff(self, value):
        database.imlec.execute("SELECT * FROM staff WHERE id = ? OR name = ? OR salary = ?", (value, value, value))
        result = database.imlec.fetchall()
        return result

run_query isimli bir fonksiyon oluşturup sorgularınızı buraya gönderebilirsiniz:

 def run_query(self,query):
     return database.imlec.execute(query).fetchall()
 
 def all_staff(self):
     return run_query("SELECT * FROM staff")
 
 def get_staff(self, id_staff):
     return run_query("SELECT * FROM staff WHERE id = ?", (id_staff, ))
 
 def query_staff(self, value):
     return run_query("SELECT * FROM staff WHERE id = ? OR name = ? OR salary = ?", (value, value, value))

1 Beğeni