Volání tabulka s hodnotou SQL funkce z .NET

hlasů
27

funkce skalární hodnotou může být volána z .NET následujícím způsobem:

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;

Také vím, že funkce tabulka s hodnotou lze nazvat podobným způsobem, jako například:

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

Moje otázka je, může funkce tabulka s hodnotou nazvat jako uložené procedury, stejně jako funkce skalární hodnotou může? (Např replikovat svůj první fragment kódu pomocí funkce tabulka s hodnotou volána a získat vrácené tabulky pomocí parametru ReturnValue).

Položena 12/08/2008 v 16:50
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
19

Ne proto, že je nutné vybrat. Nicméně můžete vytvořit uloženou proc obal, který může porazit bod, který má funkci tabulky.

Odpovězeno 12/08/2008 v 16:53
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more