Plsql 在pl/sql中使用函数统计男女学生人数
我想在PL/SQL中创建一个函数,返回数据库中男性和女性的数量。我创建了一个函数,它返回数据库中男性或女性的数量,但不能同时返回两者。这是我使用的代码 这是我用来创建函数的代码:Plsql 在pl/sql中使用函数统计男女学生人数,plsql,Plsql,我想在PL/SQL中创建一个函数,返回数据库中男性和女性的数量。我创建了一个函数,它返回数据库中男性或女性的数量,但不能同时返回两者。这是我使用的代码 这是我用来创建函数的代码: create or replace function totalstudent return number is total_male number(2):=0; begin select count(*) into total_male from New_Student where gender='Male'; re
create or replace function totalstudent
return number is
total_male number(2):=0;
begin
select count(*) into total_male from New_Student where gender='Male';
return total_male;
end;
我过去称之为:
declare
c number(2);
begin
c:=totalstudent();
dbms_output.put_line('Total Number of Male is'||c);
end;
/
这是你的电话号码
简单地说,我想要一个函数,它将完成该函数的功能,但也显示女性条目的数量。。。数据库中有女性和男性条目。我不确定您的要求是什么。我建议使用输入参数: --这些是我用来创建函数的代码
CREATE OR REPLACE FUNCTION totalstudent (v_gender IN VARCHAR2)
RETURN NUMBER
IS
total_gender NUMBER (2) := 0;
BEGIN
SELECT COUNT (*)
INTO total_gender
FROM New_Student
WHERE gender = v_gender;
RETURN total_gender;
END;
-- The code I used to call it
DECLARE
c NUMBER (2);
BEGIN
c := totalstudent ('Male');
DBMS_OUTPUT.put_line ('Total Number of Male is' || c);
c := totalstudent ('Female');
DBMS_OUTPUT.put_line ('Total Number of Female is' || c);
END;
问候非常感谢Fabrico先生,我返回了多个值,这让事情变得复杂了。这正好解决了我的问题:-)别忘了给答案打分,问候@LenzVital您声明了一个
数字(2)
,这意味着如果您的数据库中有99个以上的男性或女性,您将得到一个例外。正如法布里西奥所说:别忘了接受正确的答案;)谢谢你的来信。我认为这取决于用户或数据库的需求。例如,对于count>99或其他值,函数将有一个异常。