oracle带参(传入,传出)的存储过程怎么执行
rt,请帮我写个例子,就传入个整数,传出一个整数就成,然后在plsql中exec这个过程,主要是不能理解这带参的格式要怎么执行,谢谢,好人一生平安...
rt,请帮我写个例子,就传入个整数,传出一个整数就成,然后在plsql中exec这个过程,主要是不能理解这带参的格式要怎么执行,谢谢,好人一生平安
展开
2个回答
展开全部
网上找到一段,希望采纳:
创建含有输入和输出参数的存储过程,该过程通过员工编号查找工资额,工资额以输出参数返回
CREATE OR REPLACE PROCEDURE getSalaryByEmpNo(eNo
IN NUMBER,salary
OUT NUMBER)
AS
BEGIN
SELECT SAL INTO
salary FROM EMP WHERE EMPNO=eNo;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('没有找到该编号的员工');
END;
当过程中含有输出参数时,调用时必须通过BEGIN
END块,不能通过EXEC或CALL调用。如:
DECLARE
salary NUMBER(7,2);
BEGIN
getSalaryByEmpNo(7788,salary);
DBMS_OUTPUT.PUT_LINE(salary);
END;
创建含有输入和输出参数的存储过程,该过程通过员工编号查找工资额,工资额以输出参数返回
CREATE OR REPLACE PROCEDURE getSalaryByEmpNo(eNo
IN NUMBER,salary
OUT NUMBER)
AS
BEGIN
SELECT SAL INTO
salary FROM EMP WHERE EMPNO=eNo;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('没有找到该编号的员工');
END;
当过程中含有输出参数时,调用时必须通过BEGIN
END块,不能通过EXEC或CALL调用。如:
DECLARE
salary NUMBER(7,2);
BEGIN
getSalaryByEmpNo(7788,salary);
DBMS_OUTPUT.PUT_LINE(salary);
END;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询