Ich benutze SQL Server 2008 Enterprise. Ich lerne OUTPUT-Parameter der gespeicherten SQL Server-Prozedur. Zum Beispiel hat die gespeicherte Prozedur sp_add_jobschedule einen OUTPUT-Parameter namens schedule_id.SQL Server Ausgabe Parameter Problem
http://msdn.microsoft.com/en-us/library/ms366342.aspx
Meine Verwirrung ist, sieht aus wie OUTPUT-Parameter einen Eingangswert zur Verfügung gestellt werden könnte, und gibt auch einen Wert, sieht aus wie es das Verhalten von Ein- und Ausgabe-Parameter hat? Darf man für OUTPUT-Parameter keine INPUT-Werte angeben (damit es wie reines Output-Parameter-Verhalten aussieht)?
Dank Marc, „Die Verwirrung ist zu einem gewissen Grad gerechtfertigt - und andere RDBMS wie Oracle tun habe gespeicherte Prozedurparameter "- das ist nur der Grund, warum ich verwirrt bin. Ich migriere von DB2 zu SQL Server. Viele Konzepte sind anders. :-( – George2
Eine weitere Frage, wir könnten den OUTPUT-Parameter als optionalen Parameter definieren, dh wir konnten seinen Eingabewert nicht angeben und nur als Ausgabe verwenden? – George2
Ja natürlich - Sie könnten INPUT-Wert angeben oder lassen Sie es leer - Wenn Sie es nicht in Ihrer gespeicherten Prozedur verwenden, ist es völlig sinnlos, was Sie weitergeben. Es liegt an Ihnen und dem Code, den Sie in Ihrer Prozedur schreiben, ob Sie überhaupt den übergebenen Wert ansehen. Die "OUTPUT" -Klausel bedeutet nur, dass die gespeicherte Prozedur die Möglichkeit hat, einen Wert in diesem Parameter ZURÜCKZUFÜHREN - das ist alles. –