Announcement

Collapse
No announcement yet.

Variable erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Variable erstellen

    Hallo, ich habe eine Frage zum Thema SQL:

    ich habe eine Tabelle "Schule". Ich habe folgenden select gebaut:

    select * from Schule where Unterrichtsfach in ('Deutsch', 'Englisch') or Lehrer in ('Deutsch', 'Englisch');

    allerdings muss ich bei dem Select ja beide Wertemengen, die in Klammern stehen anpassen um ein passendes Ergebnis zu erhalten. Ich würde gerne eine Variable davorstellen.

    Beispiel:
    select * from Schule where Unterrichtsfach in (a,b) or Lehrer in (a, b);

    Sinn und zweck ist es, dass ich vor dem select 1x deklariere was die ariablen sind und dann die Spalten Unterrichtsfach und die Spalte Lehrer nach meinem Wert durchsucht wird. Dadurch muss ich meine Werte nicht an 2 stellen anpassen, wie in dem obigen select.

    Vielen Dank für eure Hilfe :-)


  • #2
    SQL kennt keine Variablen. Wo würdest du diese definieren?
    Sofern du ein Script benutzt ist das je nach DB unterschiedlich möglich

    https://www.techonthenet.com/oracle/declare_vars.php
    Christian

    Comment


    • gummela
      gummela commented
      Editing a comment
      ok, dann paramter ;-)

  • #3
    Vielleicht suchst du > Parameter?

    Hier ist ein Beispiel, weiter unten kommen Parameter

    http://www.postgresqltutorial.com/po...ql-jdbc/query/

    Comment


    • gummela
      gummela commented
      Editing a comment
      wow...daraus werde ich nicht so wirklich schlau...

  • #4
    Parameter gbit es ebenfalls nicht in SQL
    Es sind Übergabewerte in Functions oder Prozeduren
    https://www.techonthenet.com/oracle/procedures.php

    Das Beispiel von Defo2 zeigt prepared Statemants. In einer Programmiersprache wie bsp. Java, C# können SQL-Statements dynamisch mit Werten versorgt werden.
    SQL ist keine Programmiersprache und da wir uns hier im SQLForum befinden:
    Es gibt keine Möglichkeit dein Vorhaben in reinem SQL zu realisieren, außerhalb von Programmen datenbankseitig (Oracle ->PL/SQL) oder allg. Programmiersprachen (Java u.a.)

    In MySQL hast du die Möglichkeit innerhalb des commandlineinterpreters das zu tun

    https://dev.mysql.com/doc/refman/8.0...variables.html

    Zuletzt editiert von Christian Marquardt; 13.03.2019, 16:16.
    Christian

    Comment


    • #5
      gut @Christian achtet auf korrekte Begrifflichkeiten (und verlinkt dabei Dokumentation dazu, dass es doch Variablen in bestimmten SQL Dialekten gibt) und gummela liefert 2 hilflose und nichtssagende Kommentare.
      Was soll nun geschehen, soll jemand den TE anrufen und fragen, was ihn schlau machen würde? Oder ist er weiterhin an allgemeinen Referaten und Links zum Thema SQL interessiert, bis zufällig die Stelle kommt, die er braucht? Oder: Möchte er lieber von sich aus ins Detail gehen oder erwartet er mehr Investigativfragen zu seinen Skills, seinen Plänen und den konkreten Problemen?

      Comment


      • #6
        Tja, ich fasse das derart auf, dass er mit SQL beginnt und nun denkt, in einem Statement könnte es Variable, Schleifen o.a. geben.

        Ohne eine von der DB abhängige Sprache, einem Script oder Function oder Procedur wird das grundsätzlich nicht nicht gehen
        Christian

        Comment


        • #7
          Ich fasse es so auf, dass "wie immer" eine Programmiersprache verwendet wird, in der SQL genutzt werden soll und Parameter übergeben werden müssen. Stored Procedures wären möglich, aber nicht gerade der Scope eines Anfängers.
          Aber das ist Spekulation.

          Comment


          • #8
            Dachte es sind Hausaufgaben von irgendeinem Informatikunterrricht...
            Christian

            Comment

            Working...
            X