首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Count函数而不是count(*)

Count函数而不是count(*)
EN

Stack Overflow用户
提问于 2019-11-28 11:17:06
回答 2查看 72关注 0票数 0

我正在练习即将到来的期末考试,在我的数据库课上,我们被抛出了一个问题,要求我们通过创建一个函数并返回该数字来计算表格的行数。

我知道如何创建函数,但我被困在如何做这件事上。

可以使用Select语句将Count(*)放在函数内部并返回它吗?

EN

回答 2

Stack Overflow用户

发布于 2019-11-28 15:23:37

在本例中,函数接受一个参数(表名)并返回它包含的行数。DBMS_ASSERT用于防止可能的SQL注入。

代码语言:javascript
复制
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>
票数 3
EN

Stack Overflow用户

发布于 2019-11-28 12:25:20

尝尝这个。

代码语言:javascript
复制
CREATE OR REPLACE FUNCTION TotalRecords 
RETURN number IS 
   total number; 
BEGIN 
   SELECT count(*) into total 
   FROM Your_table; 

   RETURN total; 
END;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59081241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档