Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - ReturnWert einer StoredProcedure deklarieren


BLR - So 14.11.10 18:36
Titel: ReturnWert einer StoredProcedure deklarieren
Hallo, ich hab ein blödes Problem mit meiner Prozedur und zwar
Habe ich den parameter als varchar deklariert "@Nummer varchar"

wenn meine Prozedur nun ausgeführt wird, wird nichts zurückgegeben,
Weil der ReturnWert als int deklariert ist. (man sieht das dann im sql-management studio)
Wenn ich nun den Parameter als int deklariere, (also entsprechend dem ReturnWert) wird alles wunderbar zurückgegeben, aber ich brauche das als Text.

Wie kann ich diesen ReturnWert als varchar deklarieren???
Also irgendwie im sql-management-studio einstellen oder so....
konnte bei msnd dafür nichts finden, ausser den Standarterklärungen

Danke im Voraus :)


jaenicke - So 14.11.10 18:47

user profile iconBLR hat folgendes geschrieben Zum zitierten Posting springen:
Problem mit meiner Prozedur
Du sagst es doch schon selbst:
Du hast eine Prozedur, keine Funktion. Eine Prozedur hat per definitionem keinen Rückgabewert. Wenn du eine Funktion mit Rückgabewert haben willst, musst du das auch so deklarieren.
Also eben nicht create procedure sondern create function. ;-)

Du kannst nur einen out Parameter in einer Prozedur benutzen, dann kannst du zusätzlich zu dem Returncode (das ist nämlich der Integerwert, den kannst du bei return angeben) auch einen Wert zurückliefern.

user profile iconBLR hat folgendes geschrieben Zum zitierten Posting springen:
ausser den Standarterklärungen
Sowas kenne ich nicht [http://www.k-faktor.com/standart/]... ;-)


BLR - So 14.11.10 21:18

ohh super, danke für die info
also eine Prozedur hat normaleweise nur einen int als Rückgabewert,
wie kann ich mehrere defenieren???

Was für ein Unterschied besteht, wenn ich den ganzen Inhalt als Function
im slq-management-stuio deklariere??


jaenicke - So 14.11.10 21:26

user profile iconBLR hat folgendes geschrieben Zum zitierten Posting springen:
wie kann ich mehrere defenieren???
Gar nicht. Dann musst du wirklich out Parameter benutzen. Eine Funktion hat generell nur einen Rückgabewert (und eine stored procedure nur den Returncode).

user profile iconBLR hat folgendes geschrieben Zum zitierten Posting springen:
Was für ein Unterschied besteht, wenn ich den ganzen Inhalt als Function
im slq-management-stuio deklariere??
Ehrlich gesagt keine Ahnung was es da für einen geben sollte, ich kenne stored procedures usw. bisher nur theoretisch. ;-)
Du musst das eigentlich nur entsprechend aufrufen vermute ich. :nixweiss:


BLR - So 14.11.10 22:05

ahso ok, also bei sp´s brauche ich out-parameter,
kannste mir nen beispiel zeigen, wie ich sie defeniere
und wie ich sie dann dem ergebnis zuweise?


jaenicke - So 14.11.10 22:07

Ein kurzer Blick zu Google hat diese Seite ausgespuckt:
http://msdn.microsoft.com/en-us/library/ms378108.aspx