Einzelnen Beitrag anzeigen

dust258

Registriert seit: 18. Aug 2008
62 Beiträge
 
#1

Frage zu Microsoft Transact-SQL Kurs: SELECT vor if-SELECT?

  Alt 5. Okt 2009, 11:04
Datenbank: SQL-Server • Version: 2008 • Zugriff über: SQL Server Management Studio
Hi Leute,

ich arbeite mich gerade durch den Kurs "An Introduction to Transact-SQL in Microsoft® SQL Server® 2008"

Unter "Control-of-Flow Language Elements" gibt es folgenden Beispielcode:

SQL-Code:
USE AdventureWorks;
GO
WHILE (SELECT AVG(ListPrice) FROM Production.Product) < $300
BEGIN
   UPDATE Production.Product
      SET ListPrice = ListPrice * 2
   SELECT MAX(ListPrice) FROM Production.Product
   IF (SELECT MAX(ListPrice) FROM Production.Product) > $500
      BREAK
   ELSE
      CONTINUE
END

PRINT 'Too much for the market to bear';
Wie Ihr seht wird überprüft ob der Durchschnittspreis der Produkte unter $300 liegt. Außerdem bricht die if-Bedingung die Schleife ab, falls ein Preis die Marke von $500 überschreitet. Aber was soll die Zeile "SELECT MAX(ListPrice) FROM Production.Product" bewirken? Ich meine der gleiche Befehl wird doch in der IF-Anweisung abgefragt, oder?

Wie gesagt, ich will nur sicher gehen das ich das richtig verstanden habe...
  Mit Zitat antworten Zitat