tom as: create view geht nicht 8-/

hallo,

ich wollte folgende view erstellen:

create view zu_bestellen
as
select wein.Id, wein.Art, weinlager.Min_Bestand-weinlager.Bestand+10 as mindestens
from weinlager, wein
where weinlager.Bestand<weinlager.Min_Bestand and weinlager.Id = wein.Id
order by wein.Art

Er meldet aber immer folgenden Fehler:

(...)Check for the right syntax to use near 'view zu_bestellen

Laut MySQL.com müsste es aber richtig sein, oder? Der Select-Teil geht übrigens.

Ich benutze übrigens CocoaMySQL und eine MySQL Server 4.0.21 (falls das wichtig sein sollte.)

  1. Hallo,

    Asche auf mein Haupt wenn das falsch ist (ich find das MySQL-Manual grauenhaft unübersichtlich), aber ich glaube Views werden erst ab MySQL 5.x unterstützt, zumindest kennt die Manual-Seite keine Entsprechungen in früheren Versionen.

    MfG
    Rouven

    --
    -------------------
    Death is nature's way of telling you to slow down.
    1. Hi!

      Asche auf mein Haupt wenn das falsch ist (ich find das MySQL-Manual grauenhaft unübersichtlich), aber ich glaube Views werden erst ab MySQL 5.x unterstützt, zumindest kennt die Manual-Seite keine Entsprechungen in früheren Versionen.

      Es gibt hier drei mindestens Standardfragetypen:
      1.) Die rollierende Anforderung
      (Das 't' habe ich mal ausgelassen.) Also beispielsweise die Zwei-Framefrage oder die Frage wie mit Javascript auf Daten eines anderen Frames zugegriffen werden koennen, all das was schon tonnenweise im Archiv liegt.
      2.) Das nicht isolierte Problem
      Eine typische Frage der "funzt net"-Liga, es wird z.B. versucht eine komplexe Sicht zu erstellen und die Sichterstellung wird von der zur Verfuegung stehenden Logik gar nicht unterstuetzt oder eine einzelne Anweisung einer Funtion generiert eine Fehlermeldung. Welche das genau ist wird vom Fragesteller nicht identifiert und manchmal wird auch die Fehlermeldung ignoriert.
      3.) Das Laufzeit-Problem
      Grundsaetzlich funktionierender Code macht "auf einmal" nicht was er soll, manchmal kommt sogar eine Fehlermeldung hoch, die dann hier auch gepostet wird. Was wird hier unterlassen? Richtig, die Variableninhalte sind unerwartet (Division durch 0 oder nichtnumerische Variableninhalte beispielsweise - oder auch SQL-Statements, die "auf einmal" nicht funzen) und wurden nicht geprueft. Unzureichendes Testen und Debuggen.

      Aber das wird ja schon hier teilweise auf den Punkt gebracht: http://forum.de.selfhtml.org/hilfe/charta.htm#tipps-fuer-fragende

      Freshmaker

    2. echo $begrüßung;

      Asche auf mein Haupt wenn das falsch ist (ich find das MySQL-Manual grauenhaft unübersichtlich), aber ich glaube Views werden erst ab MySQL 5.x unterstützt, zumindest kennt die Manual-Seite keine Entsprechungen in früheren Versionen.

      Gleich im ersten Kapitel gibt es eine [http://dev.mysql.com/doc/refman/5.0/en/roadmap.html@title=MySQL Development Roadmap] mit einer übersichtlichen Übersicht über die Einführung der bisherigen und geplanten Features.

      echo "$verabschiedung $name";

      1. Hi,

        Gleich im ersten Kapitel gibt es eine [http://dev.mysql.com/doc/refman/5.0/en/roadmap.html@title=MySQL Development Roadmap] mit einer übersichtlichen Übersicht über die Einführung der bisherigen und geplanten Features.

        *bookmark setz* - die muss ich mir merken.
        Ne, mich frustriert das (wenngleich bei DB2 nicht besser sondern ähnlich mies), dass ich z.b. VIEW in die Suche eingebe und keine Möglichkeit habe ihm zu sagen, dass ich das Schlüsselwort VIEW suche und nicht irgendwelche Seiten in denen was über VIEW drinsteht. So als Beispiel. Bei CREATE VIEW gehts ja noch, aber ich hab schon andere Sachen recht verzweifelt gesucht, z.B. die Suche nach GROUP BY.

        MfG
        Rouven

        --
        -------------------
        When the only tool you've got is a hammer, all problems start to look like nails.
  2. Morgen!

    create view zu_bestellen
    as
    select wein.Id, wein.Art, weinlager.Min_Bestand-weinlager.Bestand+10 as mindestens
    from weinlager, wein
    where weinlager.Bestand<weinlager.Min_Bestand and weinlager.Id = wein.Id
    order by wein.Art

    create view
     zu_bestellen
    as
     select
      wein.Id,
      wein.Art,
      weinlager.Min_Bestand - weinlager.Bestand + 10 as mindestens
     from
      weinlager,
      wein
     where
      (weinlager.Bestand<weinlager.Min_Bestand) and
      (weinlager.Id = wein.Id)
     order by
      wein.Art

    sieht doch ganz brauchbar aus. (Bis auf "(weinlager.Id = wein.Id)", was soll denn das?) Eventuell noch bei "ORDER BY" "ASC" oder "DESC" angeben. Sind die oben verglichenen und berechneten Datenfelder auch schoen numerisch? Und mal testweise zwischen Rechenoperatoren und Argumenten Leerzeichen setzen.

    Kannst Du ueberhaupt eine Sicht erstellen?

    Leberwurst

    1. sieht doch ganz brauchbar aus. (Bis auf "(weinlager.Id = wein.Id)", was soll denn das?)

      Ich habe sowohl in weinlager,als auc in wein eine die Spalte Id. Wobei weinlager.id die eindeutige Ids des weins ist. Man hätte es auch zusammenfassen können, was die Sache aber unübersichtlicher macht.

      Kannst Du ueberhaupt eine Sicht erstellen?

      So wie es aussieht nicht, da ich nur 4.0.21 benutze. Das wusste ich nicht.

      1. sieht doch ganz brauchbar aus. (Bis auf "(weinlager.Id = wein.Id)", was soll denn das?)

        Ich habe sowohl in weinlager,als auc in wein eine die Spalte Id. Wobei weinlager.id die eindeutige Ids des weins ist. Man hätte es auch zusammenfassen können, was die Sache aber unübersichtlicher macht.

        Eine ID ist eine zumindest Datentabelle-eindeutige Kennung fuer einen Datensatz derselben. WeinID waere somit OK, eine WeinlagerID gibt es moeglicherweise nicht, nicht ganz OK. WeinlagerWeinID waere m.E. eine intuitivere Namensgebung fuer den Verweis. Zudem boete sich Ein JOIN an.

        Anyway, Prost!