Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plsql 在pl/sql中使用函数统计男女学生人数_Plsql - Fatal编程技术网

Plsql 在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

我想在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';
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或其他值,函数将有一个异常。