WEB开发网
开发学院数据库Oracle 使用ADO.NET访问Oracle 9i存储过程(上) 阅读

使用ADO.NET访问Oracle 9i存储过程(上)

 2007-05-13 12:30:07 来源:WEB开发网   
核心提示: Oracle 函数是计算并返回单个值的子程序,它们的结构类似于存储过程,使用ADO.NET访问Oracle 9i存储过程(上)(6),不同之处在于它们总是具有必须返回值的 RETURN 子句,下面是一个返回指定员工的电子邮件的函数:CREATE OR new FUNCTION GET_EM

Oracle 函数是计算并返回单个值的子程序。它们的结构类似于存储过程,不同之处在于它们总是具有必须返回值的 RETURN 子句。

下面是一个返回指定员工的电子邮件的函数:

CREATE OR new FUNCTION GET_EMPLOYEE_EMAIL (
   p_employee_id NUMBER
)
RETURN VARCHAR2
IS p_email VARCHAR2(25);
BEGIN
   SELECT EMAIL INTO p_email FROM EMPLOYEES
   WHERE EMPLOYEE_ID = p_employee_id;
  
   RETURN p_email;
END GET_EMPLOYEE_EMAIL;

执行函数的方式与执行存储过程的方式相同。可使用 ParameterDirection.ReturnValue 参数获得由函数返回的结果。以下代码显示了使用方法:

// create the connection
OracleConnection conn = new OracleConnection("Data Source=oracledb;
   User Id=UserID;Password=Password;");
  // create the command for the function
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "GET_EMPLOYEE_EMAIL";
cmd.CommandType = CommandType.StoredProcedure;
  // add the parameters, including the return parameter to retrieve
// the return value
cmd.Parameters.Add("p_employee_id", OracleType.Number).Value = 101;
cmd.Parameters.Add("p_email", OracleType.VarChar, 25).Direction =
   ParameterDirection.ReturnValue;
  // execute the function
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
  // output the result
Console.WriteLine("Email address is: " + cmd.Parameters["p_email"].Value);

控制台输出显示了员工 101 的电子邮件地址。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:使用 ADO NET

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接