Aufruf Tabellenwert-SQL-Funktionen Aus .NET
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).
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