Frage

Scalar-valued-Funktionen aufgerufen werden kann .NET sich wie folgt:

SqlCommand cmd = new SqlCommand("testFunction", sqlConn); //testFunction is scalar
cmd.CommandType = CommandType.StoredProcedure;  
cmd.Parameters.Add("retVal", SqlDbType.Int);
cmd.Parameters["retVal"].Direction = ParameterDirection.ReturnValue;
cmd.ExecuteScalar();
int aFunctionResult = (int)cmd.Parameters["retVal"].Value;

Ich weiß auch, dass die table-valued-Funktionen können aufgerufen werden, in ähnlicher Weise, zum Beispiel:

String query = "select * from testFunction(param1,...)"; //testFunction is table-valued
SqlCommand cmd = new SqlCommand(query, sqlConn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(tbl);

Meine Frage ist, kann table-valued-Funktionen aufgerufen werden, wie gespeicherte Prozeduren, wie scalar-valued-Funktionen können?(z.B., replizieren meine erste code-snippet mit einem Tabellenwert-Funktion aufgerufen wird, und die zurückgegebenen Tabelle durch eine ReturnValue parameter).

War es hilfreich?

Lösung

Nein, da müssen Sie Sie auswählen.Sie können jedoch erstellen eine gespeicherte Prozedur wrapper, die möglicherweise Niederlage der Punkt, der mit einem Tisch Funktion.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top