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;
/
出于某种原因,每次我尝试 运行 时,都会出现错误,指出第 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;
/