由于某种原因无法识别SELECT命令。

时间:2017-03-27 18:40:28

标签: sql oracle plsql oracle-apex oracle-apex-5

出于某种原因,每次我尝试运行它时,都会出现任何错误,指出第4行第3列(SELECT)中的SQL语句已被忽略。也说,"年":无效的标识符。年份是同一表格中存在的另一列。我正在尝试创建一个用连字符显示YEAR的列,例如:" 17 - "。

 DECLARE
  TERRA_NUMBER VARCHAR2(40);
BEGIN
 SELECT CONCAT(YEAR , '-' )
 INTO TERRA_NUMBER FROM DUAL;
  RETURN TERRA_NUMBER;
END;

2 个答案:

答案 0 :(得分:0)

评论太长了。

首先,Oracle中没有YEAR变量。也许你打算TO_CHAR(sysdate, 'YYYY')

其次,匿名编程块不返回值。因此,RETURN不合适。

如果这是函数或存储过程的一部分,则应显示整个定义。

答案 1 :(得分:0)

也许你可以创建FindYear函数。

CREATE OR REPLACE FUNCTION FindYear RETURN VARCHAR2
IS
TERRA_NUMBER VARCHAR2(40);
BEGIN 

SELECT CONCAT(TO_CHAR(sysdate, 'YYYY') , '-' )
 INTO TERRA_NUMBER FROM DUAL;
 RETURN(TERRA_NUMBER);
END;
/

enter image description here