sql >> Databáze >  >> RDS >> Oracle

Jak volat uloženou proceduru Oracle, která vrací ref kurzor

Příklad:

string connStr = "Data Source=...";
DataSet dataset = new DataSet();

string connStr = ConfigurationManager.ConnectionStrings["OracleConn"].ToString();

using (OracleConnection objConn = new OracleConnection(connStr))
{
    OracleCommand cmd = new OracleCommand();
    cmd.Connection = objConn;
    cmd.CommandText = "Oracle_PkrName.Stored_Proc_Name";
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add("Emp_id", OracleType.Int32).Value = 3; // Input id
    cmd.Parameters.Add("Emp_out", OracleType.Cursor).Direction = ParameterDirection.Output;

    try
    {
        objConn.Open();
        cmd.ExecuteNonQuery();
        OracleDataAdapter da = new OracleDataAdapter(cmd);
        da.Fill(dataset);                   
    }
    catch (Exception ex)
    {
        System.Console.WriteLine("Exception: {0}", ex.ToString());
    }
    objConn.Close();
}


  1. Jak použít operaci SUM bez seskupování výsledků v SQL?

  2. Vygenerujte rozsah dat pomocí SQL

  3. nelze dosáhnout připojení k databázi MySQL na vzdáleném počítači

  4. SQL Server používá vysoký procesor při hledání uvnitř řetězců nvarchar