plsql编写函数,传入一个年龄,返回改年龄的人数
时间: 2023-05-12 20:06:34 浏览: 99
以下是一个简单的 PL/SQL 函数,可以根据传入的年龄返回该年龄的人数:
```
CREATE OR REPLACE FUNCTION get_num_people_by_age(p_age IN NUMBER)
RETURN NUMBER
IS
v_num_people NUMBER;
BEGIN
SELECT COUNT(*) INTO v_num_people
FROM people
WHERE age = p_age;
RETURN v_num_people;
END;
```
其中,`people` 表是一个包含人员信息的表,包括 `age` 字段表示年龄。你可以根据实际情况修改表名和字段名。
相关问题
编写一个plsql函数count_by_job,接受传入参数职位,据此统计并返回该职位员工数
你可以使用以下PL/SQL代码来编写名为count_by_job的函数:
```
CREATE OR REPLACE FUNCTION count_by_job(p_job IN employees.job%TYPE)
RETURN NUMBER
IS
v_count NUMBER;
BEGIN
SELECT COUNT(*) INTO v_count FROM employees WHERE job = p_job;
RETURN v_count;
END;
```
这个函数接收一个参数p_job,类型为employees表中job列的类型。在函数体中,使用SELECT COUNT(*)语句来查询employees表中job等于p_job的员工数量,并将结果保存在变量v_count中。最后,使用RETURN语句返回v_count。
使用该函数时,可以像下面这样调用它:
```
SELECT count_by_job('SALESMAN') FROM dual;
```
这个调用会将参数'SALESMAN'传递给count_by_job函数,并返回employees表中job等于'SALESMAN'的员工数量。需要注意的是,该函数中的表名和列名可以根据你的实际情况进行修改。
在plsql中编写一个函数,可以接收用户名,并返回该用户的年薪。
好的,以下是一个简单的 PL/SQL 函数,可以接受一个用户名为输入,然后返回该用户的年薪:
CREATE FUNCTION get_salary (p_username IN VARCHAR2)
RETURN NUMBER
IS
l_salary NUMBER;
BEGIN
SELECT salary*12
INTO l_salary
FROM employees
WHERE first_name = p_username;
RETURN l_salary;
EXCEPTION
WHEN no_data_found THEN
RETURN NULL;
END;
这个函数假设有一个 employees 表,其中包含了每个员工的名字和薪水。它将输入的用户名与该表中的 first_name 进行匹配,并返回匹配到的该员工的年薪。如果找不到该用户名对应的员工,则返回 NULL。