[英]Function with Table_name as input and returns a number in Oracle
I have a function that takes table_name as input and returns a number. 我有一个函数,将table_name作为输入并返回一个数字。 The function gets compiled properly but for some reason when I try test the function it throws error - missing keyword.
该函数已正确编译,但是由于某些原因,当我尝试测试该函数时,它将引发错误-缺少关键字。
CREATE OR replace FUNCTION TEST_FUNCTION (name_table IN VARCHAR2) RETURN NUMBER
IS
rday NUMBER;
BEGIN
execute immediate
'select day_i into rday
FROM ' || name_table || '
WHERE day_i = 1 and rownum = 1';
return rday;
END TEST_FUNCTION;
This is how I am testing it Select TEST_FUNCTION ('FDR_REP') from dual;
这就是我测试它
Select TEST_FUNCTION ('FDR_REP') from dual;
The syntax for execute immediate is different for an into clause try 对于into子句try,立即执行的语法是不同的
CREATE OR replace FUNCTION TEST_FUNCTION (name_table IN VARCHAR2) RETURN NUMBER
IS
rday NUMBER;
BEGIN
execute immediate 'select day_i
FROM ' || name_table || '
WHERE day_i = 1 and rownum = 1' into rday;
return rday;
END TEST_FUNCTION;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.