我正在练习即将到来的期末考试,在我的数据库课上,我们被抛出了一个问题,要求我们通过创建一个函数并返回该数字来计算表格的行数。
我知道如何创建函数,但我被困在如何做这件事上。
可以使用Select语句将Count(*)放在函数内部并返回它吗?
发布于 2019-11-28 15:23:37
在本例中,函数接受一个参数(表名)并返回它包含的行数。DBMS_ASSERT用于防止可能的SQL注入。
SQL> CREATE OR REPLACE FUNCTION f_cnt (par_table_name IN VARCHAR2)
2 RETURN NUMBER
3 IS
4 retval NUMBER;
5 BEGIN
6 EXECUTE IMMEDIATE
7 'select count(*) from ' || DBMS_ASSERT.sql_object_name (par_table_name)
8 INTO retval;
9
10 RETURN retval;
11 END;
12 /
Function created.
SQL> SELECT f_cnt ('dual') FROM DUAL;
F_CNT('DUAL')
-------------
1
SQL>发布于 2019-11-28 12:25:20
尝尝这个。
CREATE OR REPLACE FUNCTION TotalRecords
RETURN number IS
total number;
BEGIN
SELECT count(*) into total
FROM Your_table;
RETURN total;
END;https://stackoverflow.com/questions/59081241
复制相似问题