Die dritte Zeile jeder dieser Aussagen ist genau das gleiche:DRY - wie man wiederholten Code extrahiert ... zu einer gespeicherten Funktion?
statement1
SELECT * FROM `uploads`
WHERE `uid` = :uid
AND `deleted` <> 1 AND `archived` <> 1
statement2
SELECT * FROM `uploads`
WHERE `folder_id` = :folder_id
AND `deleted` <> 1 AND `archived` <> 1
Die dritte Zeile als auch in vielen anderen Aussagen verwendet wird , sagen wir 30 verschiedene Aussagen; In diesem erfundenen Beispiel heißt das: "Wir bekommen alle Dateien aus einer Upload-Tabelle ... die nicht gelöscht oder archiviert wurden". Wenn wir in der Zukunft ein drittes Qualifikationsmerkmal hinzufügen müssen (z. B. AND uploadsuccess = 1
), müssten wir 30 verschiedene SQL-Anweisungen bearbeiten. Überhaupt nicht trocken. Wie können wir DRY-Prinzipien hier über SQL verwenden (MySQL in unserem Fall, wenn das ein wichtiger Faktor ist)?
Danke für jede Hilfe.
Ja, ich würde auch eine Ansicht machen. –