m0_57748717 2021-12-08 23:28 采纳率: 76.3%
浏览 24
已结题

oracle存储过程参数问题

请问一下各位,以下存储过程中参数s_age既没有in也没有out的情况下,跟其余带in或者out的参数有什么区别呢?

CREATE OR REPLACE PROCEDURE 存储过程名称(
       s_no in varchar,
       s_name out varchar,
       s_age number) AS
total NUMBER := 0;
BEGIN
  SELECT COUNT(1) INTO total FROM student s WHERE s.age=s_age;
  dbms_output.put_line('符合该年龄的学生有'||total||'人');
  EXCEPTION
    WHEN too_many_rows THEN 
    DBMS_OUTPUT.PUT_LINE('返回值多于1行'); 
END

  • 写回答

1条回答 默认 最新

  • oldmao_2000 领域专家: 人工智能技术领域 2021-12-09 11:01
    关注

    没写就是默认in,用于接收参数,在子程序内部,不能进行修改。
    out输出模式的参数,用于输出值,会忽略传入的值。
    还有一种是in out类型

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月17日
  • 已采纳回答 12月9日
  • 创建了问题 12月8日