J'ai un certain nombre de classes d'accès aux données générées automatiquement pour gérer des choses comme les insertions & mises à jour.Comment appeler une fonction oracle dans le cadre d'une requête paramétrée?
Ceux-ci ressemblent:
cmd.CommandType = CommandType.Text
cmd.CommandText = "UPDATE myTable set f1 = :f1, f2 = :f2, f3 = :f3 where id = :id"
cmd.Parameters.AddWithValue(":f1", _f1)
cmd.Parameters.AddWithValue(":f2", _f2)
cmd.Parameters.AddWithValue(":f3", _f3)
cmd.ExecuteNonQuery()
Si je devais réécrire le SQL pour faire ce que je veux, il ressemblerait à quelque chose comme
cmd.CommandText = "UPDATE myTable set f1 = pkg.getMyValue, f2 = :f2, f3 = :f3 where id = :id"
Est-il possible de le faire par définir _f1 à une valeur "spéciale", sans modifier la mise à jour SQL ou la façon dont les paramètres sont définis? Seulement dans certains cas, je dois définir la valeur de f1 - la plupart du temps, il sera nul.
.net 2.0 L'utilisation et System.Data.OracleClient contre oracle 11.