Benutzerdefinierte Funktion aufrufen?

Nobody

Benutzer
Beiträge
7
Hi,

ich habe folgende Funktion im SQL Server 2008 Express erstellt

Code:
create function Zahlen_entfernen
        (@Eingabe varchar(100))
returns varchar(100)
as begin
    Set @Eingabe = Replace(@Eingabe,'0','');
    Set @Eingabe = Replace(@Eingabe,'1','');
    Set @Eingabe = Replace(@Eingabe,'2','');
    Set @Eingabe = Replace(@Eingabe,'3','');
    Set @Eingabe = Replace(@Eingabe,'4','');
    Set @Eingabe = Replace(@Eingabe,'5','');
    Set @Eingabe = Replace(@Eingabe,'6','');
    Set @Eingabe = Replace(@Eingabe,'7','');
    Set @Eingabe = Replace(@Eingabe,'8','');
    Set @Eingabe = Replace(@Eingabe,'9','');
    Set @Eingabe = RTrim(@Eingabe);
    return @Eingabe;
end

Wenn ich die Funktion nun aufrufen will, dann sagt mir der SQL Server dass er die Funktion nicht kennt, obwohl beim ausführen der Funktion kein Fehler aufgetreten ist.
Fehlermeldung:
Meldung 195, Ebene 15, Status 10, Zeile 1

'Zahlen_entfernen' wird nicht als Name einer integrierten Funktion erkannt.

Folgender Funktionsaufruf habe ich versucht:
Code:
update Artikel
set Bezeichnung = zahlen_entfernen(Bezeichnung)

Kann mir einer weiterhelfen?

Gruß Nobody
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.028
Hi,

ich habe folgende Funktion im SQL Server 2008 Express erstellt

Wenn ich die Funktion nun aufrufen will, dann sagt mir der SQL Server dass er die Funktion nicht kennt, obwohl beim ausführen der Funktion kein Fehler aufgetreten ist.
Fehlermeldung:


Folgender Funktionsaufruf habe ich versucht:
Code:
update Artikel
set Bezeichnung = zahlen_entfernen(Bezeichnung)

Kann mir einer weiterhelfen?

Gruß Nobody

Ich weiß nicht, wo der Fehler steckt (nutze M$SQL nicht), aber warum so umständlich?

Code:
test=*# select regexp_replace('abc1x2y3z4abc567xyz123bla','[0-9]','','g');
 regexp_replace
-----------------
 abcxyzabcxyzbla
(1 row)

Entfernt alle Ziffern aus dem String - in einem Zug. Hat M$SQL denn keine analogen Funktionen?


Andreas
 

Nobody

Benutzer
Beiträge
7
Hallo,

aber warum so umständlich?
War generell eine Frage, weil ich später noch andere Funktionen schreiben muss, die mit Sicherheit nicht in SQL verfügbar sind.

Hat M$SQL denn keine analogen Funktionen?
Kann ich dir nicht sagen, bin noch nicht wirklich fit in SQL. Deshalb weiß ich ja nicht mal wie ich eine selbstgeschriebene Funktion aufrufen kann.

Gruß Nobody
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.394
In MSSQL müsste '[0-9]' in Verbindung mit replace auch gehen, jedenfalls nutze ich das auch.
 
Oben