SELECT 命令由于某种原因未被识别。

SELECT command not being recognized for some reason.

出于某种原因,每次我尝试 运行 时,都会出现错误,指出第 4 行第 3 列 (SELECT) 的 SQL 语句已被忽略.还说,"YEAR":标识符无效。 Year 是存在于同一表单中的另一列。我正在尝试制作一个显示带有连字符的 YEAR 的列,例如:“17-”。

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

评论太长了。

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

其次,匿名编程块没有return一个值。所以,RETURN是不合适的。

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

或许您可以创建 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;
/