Shop Projekt - Dokumentation
Shop LDM
Teil 00: Funktionen & Prozeduren
Dieses Modul enthält wiederverwendbare Hilfsfunktionen und Prozeduren, die über das gesamte System hinweg genutzt werden. Es dient als "Werkzeugkasten" für häufige Datenbankoperationen und erhöht die Wartbarkeit des Codes.
DropForeignKeyIfExists Procedure
Input:
- p_table_name: VARCHAR(64) -- Name der Tabelle
- p_fk_name: VARCHAR(64) -- Name des Fremdschlüssel-Constraints
Process:
1. Check if table exists -- Prüft ob die Tabelle existiert
2. Check if foreign key exists -- Prüft ob der Fremdschlüssel existiert
3. If both exist: DROP FOREIGN KEY -- Löscht den Fremdschlüssel nur wenn beides zutrifft
Output:
- Status message -- Gibt Statusmeldungen zurückgenerateSwissPhone Function
Zweck: Generiert zufällige, valide Schweizer Mobiltelefonnummern für Testdaten.
Input:
Process:
1. Random prefix: 076|077|078|079 -- Wählt zufällige Schweizer Mobilfunkvorwahl
2. Random 3-digit block -- Generiert drei zufällige Blöcke für die restlichen Ziffern
3. Random 2-digit block
4. Random 2-digit block
Output VARCHAR(20):
- Format: XXX XXX XX XX -- Formatiert im Schweizer Standardformatp_check_has_one Procedure
Zweck: Universelle Prüfung auf Existenz eines Datensatzes in einer beliebigen Tabelle.
Input:
- p_table_name: VARCHAR(64) -- Ziel-Tabelle
- p_column_name: VARCHAR(64) -- Ziel-Spalte
- p_ID: INT -- Zu prüfende ID
Process:
1. Security Check -- Validiert Tabellen- und Spaltennamen gegen Schema
2. Dynamic Query Building -- Erstellt dynamischen SELECT EXISTS String
3. Execution -- Führt Suche aus und setzt Resultat
Output (OUT):
- p_exists: BOOLEAN -- Rückgabe ob gefunden (1) oder nicht (0)