Wie man SQL-Variablen verwenden

Obwohl in der Lage zu sein Literale und andere Arten von Konstanten zu manipulieren, während sie mit einer SQL-Datenbank tun Sie große Macht gibt, Variablen, die hilfreich ist, auch. In vielen Fällen müssten Sie viel mehr Arbeit zu tun, wenn Sie keine Variablen hatte. EIN Variable, durch die Art und Weise, ist eine Menge, die einen Wert hat, verändern kann. Schauen Sie sich das folgende Beispiel, um zu sehen, warum Variablen wertvoll sind.

Nehmen wir an, dass Sie ein Einzelhändler sind, die mehrere Klassen von Kunden. Sie geben Ihre High-Volume-Kunden den besten Preis, Ihr Medium-Volumen Kunden den nächstbesten Preis und Ihre Low-Volume-Kunden den höchsten Preis. Sie möchten alle Preise in Ihre Kosten für Waren zu indizieren.

Für Ihre F-35 Produkt entscheiden Sie Ihre High-Volume-Kunden (Klasse C) das 1,4-fache Ihre Kosten für Waren zu berechnen. Sie laden Sie Ihr Medium-Volumen Kunden (Klasse B) das 1,5-fache Ihre Kosten für Waren, und Sie laden Ihre Low-Volume-Kunden (Klasse A) das 1,6-fache Ihre Kosten für Waren.

Sie speichern die Kosten für Waren und die Preise, die Sie in einer Tabelle mit dem Namen PRICING aufzuladen. Um die neue Preisstruktur implementieren, geben Sie die folgenden SQL-Befehle:

UPDATE PRICINGSET Preis = Kosten * 1.4WHERE Produkt = 'F-35'AND Klasse =' C '-Update PRICINGSET Preis = Kosten * 1.5WHERE Produkt =' F-35'AND Klasse = 'B' -Update PRICINGSET Preis = Kosten * 1.6WHERE Produkt = 'F-35'AND Class =' ​​A '-

Dieser Code ist in Ordnung und Ihren Bedürfnissen entspricht - vorerst. Aber wenn aggressive Wettbewerb in Ihren Marktanteil zu essen beginnt, müssen Sie Ihre Margen zu senken, um wettbewerbsfähig zu bleiben. Um Ihre Margen zu ändern, müssen Sie Code, so etwas zu geben:

UPDATE PRICINGSET Preis = Kosten * 1.25WHERE Produkt = 'F-35'AND Klasse =' C '-Update PRICINGSET Preis = Kosten * 1.35WHERE Produkt =' F-35'AND Klasse = 'B' -Update PRICINGSET Preis = Kosten * 1.45WHERE Produkt = 'F-35'AND Class =' ​​A '-

Wenn Sie in einem volatilen Markt sind, dann müssen Sie Ihren SQL-Code wiederholt neu zu schreiben. Diese Aufgabe kann langweilig werden, vor allem, wenn die Preise an mehreren Stellen im Code erscheinen. Sie können Ihre Arbeit durch den Austausch Literale (wie minimieren 1,45) Mit Variablen (wie : multiplierA). Dann können Sie Ihre Updates durchführen, wie folgt:

UPDATE PRICINGSET Preis = Kosten *: multiplierCWHERE Produkt = 'F-35'AND Klasse =' C '-Update PRICINGSET Preis = Kosten *: multiplierBWHERE Produkt =' F-35'AND Klasse = 'B' -Update PRICINGSET Preis = Kosten * : 'F-35'AND Class =' ​​A 'multiplierAWHERE Produkt = -

Nun, wenn die Marktbedingungen zwingen Sie Ihre Preise zu ändern, müssen Sie nur die Werte der Variablen zu ändern : multiplierC, : multiplierB, und : multiplierA. Diese Variablen sind Parameter, die mit dem SQL-Code übergeben, die dann die Variablen verwendet neue Preise zu berechnen.

Manchmal auf diese Weise verwendeten Variablen werden genannt Parameter oder Host-Variablen. Variablen werden genannt Parameter wenn sie erscheinen in Anwendungen in SQL-Modul Sprache geschrieben. Sie heißen Host-Variablen wenn sie in Embedded SQL verwendet.

Embedded SQL bedeutet, dass SQL-Anweisungen in den Code einer Anwendung in einer Host-Sprache geschrieben eingebettet sind. Alternativ können Sie SQL-Modul Sprache verwenden, um eine gesamte Modul von SQL-Code zu erstellen. Die Host-Sprache-Anwendung ruft dann das Modul. Beide Methoden können Sie die Fähigkeiten, die Sie wollen. Der Ansatz, die Sie verwenden, hängt von Ihrer SQL-Implementierung.

Menü