Announcement

Collapse
No announcement yet.

check constraint

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

  • check constraint

    Hi,
    Glaub, ich seh den Wald vor lauter Bäumen nicht mehr, evtl. hat jemand von euch einen Tipp.

    Es geht um einen Check Constraint, der die Spalte Email überprüft. Ich möchte gerne sicher stellen, dass keine Sonderzeichen eingegeben werden dürfen.

    Das, was ich bisher ausprobiert habe, funktioniert nicht. Hat jemand einen Tipp, wie ich den String, der die Email Adresse beinhaltet, überprüfen kann, dass dieser keine Sonderzeichen enthält?

    Für Antworten, neue Ideen, Anregungen, etc. wäre ich dankbar.

    Gruss

  • #2
    Originally posted by duukta View Post
    Hi,
    Glaub, ich seh den Wald vor lauter Bäumen nicht mehr, evtl. hat jemand von euch einen Tipp.

    Es geht um einen Check Constraint, der die Spalte Email überprüft. Ich möchte gerne sicher stellen, dass keine Sonderzeichen eingegeben werden dürfen.

    Das, was ich bisher ausprobiert habe, funktioniert nicht. Hat jemand einen Tipp, wie ich den String, der die Email Adresse beinhaltet, überprüfen kann, dass dieser keine Sonderzeichen enthält?

    Für Antworten, neue Ideen, Anregungen, etc. wäre ich dankbar.

    Gruss

    Hallo,

    - Welche DB ist es denn ? Solche Sachen könne sich je nach Hersteller relativ stark unterscheiden

    Comment


    • #3
      in diesem Fall wird ein MS SQL Server 2005 eingesetzt.

      Comment


      • #4
        Originally posted by duukta View Post
        Es geht um einen Check Constraint, der die Spalte Email überprüft. Ich möchte gerne sicher stellen, dass keine Sonderzeichen eingegeben werden dürfen.
        Das macht man u.a. mit Stored Procedures in einem Before-Insert/Update-Trigger. Da sind wir dann aber jenseits vom SQL-Standard, sprich Proprietärem ausgesetzt.

        Daher wäre es enorm gut, Dein DBMS zu kennen, ansonsten müßten wir alle die Glaskugel anwerfen.
        Dirk

        Comment


        • #5
          Hi,
          ich dachte, es gibt ne Möglichkeit, dass im Check Constraint zu realisieren und nicht erst eine Funktion / Trigger zu schreiben, der das abfängt.

          Gruss

          Comment


          • #6
            Nochmal: Wenn wir wüßten, welches DBMS Du einsetzt, dann könnte man eventuell auch antworten, ob und wie das dort funktioniert.
            Dirk

            Comment


            • #7
              Hallo duukta,

              Du kannst es durchaus mit einem CONSTRAINT lösen.
              Nur die Logik zur Prüfung wird nicht gerade ein Einzeiler sein, von daher wirst Du die Logik in eine Funktion auslagern müssen, die Du dann im CONSTRAINT aufrufst.

              Nur auf Sonderzeichen zu prüfen, ist auch nur die halbe Lösung.
              Um es richtig zu Prüfen, müsstest Du einen "regulären Ausdruck" verwenden, siehe hier:
              http://www.regular-expressions.info/email.html
              http://asp.programmershelp.co.uk/checkemail.php

              Hier mal ein Mini-Beispiel:
              [highlight=SQL]DECLARE @Email varchar(100)

              SET @Email = '[email protected]'

              IF @EMAIL LIKE '%[äüö]%'
              PRINT 'Ich bin ungültig'
              ELSE
              PRINT 'ICH bin gültig'


              SET @Email = 'tä[email protected]'

              IF @EMAIL LIKE '%[äüö]%'
              PRINT 'Ich bin ungültig'
              ELSE
              PRINT 'ICH bin gültig'
              [/highlight]

              War der Crosspost http://entwickler-forum.de/showthread.php?t=51611 irgendwie nötig?
              Olaf Helper

              <Blog> <Xing>
              * cogito ergo sum * errare humanum est * quote erat demonstrandum *
              Wenn ich denke, ist das ein Fehler und das beweise ich täglich

              Comment

              Working...
              X