如果您尚未修改默认的 HR 安装则 JOB_HISTORY 表中员工 的记录被删除并且向控制台输出以下内容
Rows affected:
访问返回值
RETURN 语句立即将控制从存储过程返回到调用程序Oracle 存储过程中的 RETURN 语句无法像在 TSQL 中那样返回值
Oracle 函数是计算并返回单个值的子程序它们的结构类似于存储过程不同之处在于它们总是具有必须返回值的 RETURN 子句
下面是一个返回指定员工的电子邮件的函数
CREATE OR new FUNCTION GET_EMPLOYEE_EMAIL (
p_employee_id NUMBER
)
RETURN VARCHAR
IS p_email VARCHAR();
BEGIN
SELECT EMAIL INTO p_email FROM EMPLOYEES
WHERE EMPLOYEE_ID = p_employee_id;
RETURN p_email;
END GET_EMPLOYEE_EMAIL;
执行函数的方式与执行存储过程的方式相同可使用 ParameterDirectionReturnValue 参数获得由函数返回的结果以下代码显示了使用方法
// 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();
cmdConnection = conn;
cmdCommandText = GET_EMPLOYEE_EMAIL;
cmdCommandType = CommandTypeStoredProcedure;
// add the parameters including the return parameter to retrieve
// the return value
cmdParametersAdd(p_employee_id OracleTypeNumber)Value = ;
cmdParametersAdd(p_email OracleTypeVarChar )Direction =
ParameterDirectionReturnValue;
// execute the function
connOpen();
cmdExecuteNonQuery();
connClose();
// output the result
ConsoleWriteLine(Email address is: + cmdParameters[p_email]Value);
[] [] [] [] [] [] [] []