所以我有一个函数来返回列的平均值,例如
<div class="styled-input-container drop-down-input">
<input id="simple_2" class="drop-down-select" placeholder="input text" type="text">
<ul class="dropdown-list">
<li>eeee</li>
<li>xxxx</li>
<li>xxxx</li>
<li>xsssxxx</li>
</ul>
</div>
在尝试测试结果时,我有以下
CREATE OR REPLACE FUNCTION avgCol
RETURN DEC IS avgNum DEC;
BEGIN
SELECT AVG(myCol)
INTO avgNum
FROM MyTable;
RETURN avgNum;
END;
/
但它给了我错误
SELECT avgCol
INTO RESULT
FROM DUAL;
第175行是ORA-00905: missing keyword
00905. 00000 - "missing keyword"
*Cause:
*Action:
Error at Line: 175 Column: 6
。据我所知,这是一个标量函数,我试图返回一个信号变量,所以它应该正常工作?我在这里错过了什么关键字?
另外我知道我可以使用AVG(),但我正在学习如何创建标量函数。这完全是出于学习目的。
答案 0 :(得分:2)
在测试代码时(应该没问题),您需要
SELECT avgCol AS result FROM DUAL;
答案 1 :(得分:0)
&#39; INTO&#39;将结果值分配给PL / SQL变量; &#39; AS&#39;为SQL SELECT(不是PL / SQL)结果列/字段创建别名/名称。