请问一下各位,在实际生产环境中,编写存储过程如何知道该存储过程要定义哪些参数?存储过程中的参数列表的内容是根据什么来确定的?
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
存储过程要定义的参数是根据你的查询条件来定的,比如你要查询用户的信息,可能需要userId参数,至于返回的内容是根据需求来定的,比如你要展示用户名,性别之类的,那么就需要在存储过程中返回
就你上面这个存储过程来说 需要定义的函数 存储过程名称后面 括号内的参数看 where条件=后面 as后面参数主要看 into 后面
传入的参数就相当于已知条件,传出的参数就相当于你要得出的结果,存储过程中间的内容就相当于复杂的计算过程。在实际生产环境中,你需要先梳理清楚自己的需求,就很容易明白需要哪些参数了,编写存储过程也更加得心应手。
https://www.jb51.net/article/219586.htm
create or replace procedure inandout(name in varchar2, age in number,outp out varchar2) is
/in 代表输入,out 代表输出/
begin
outp:='my name is '|| name ||',my age is '||age;/相当于JAVA中的return outp,但是请注意,存储过程中可以return多个值/
end inandout;
in 关键字:代表输入
out 关键字:代表输出
主要看你需要什么🤔