当前位置: 首页 > 知识库问答 >
问题:

在此位置无效,需要标识符。发生错误

郑燕七
2023-03-14
DELIMITER //
CREATE PROCEDURE PROCEDURE_NM    ( IN   PARAM_A          VARCHAR(16)       
                                 , IN   PARAM_B          VARCHAR(16) ) 

BEGIN
    DECLARE SRCH_CNTE VARCHAR(500) DEFAULT IN PARAM_A + PARAM_B;
    DECLARE SQL_NM    VARCHAR(500) DEFAULT 'PROCEDURE_NM';
    DECLARE ERROR_YN  VARCHAR(1)   DEFAULT 'N';
    DECLARE ERROR_MSG VARCHAR(500) DEFAULT NULL;
    BEGIN
        CALL PROC_LOG(SRCH_CNTE, SQL_NM, ERROR_YN, ERROR_MSG);
    END;
    
    BEGIN
        --SOMETHING
    END;
    
    BEGIN
        DECLARE EXIT HANDLER FOR SQLEXCEPTION
            BEGIN
                GET DIAGNOSTICS CONDITION 1
                    ERROR_MSG = MESSAGE_TEXT;
                    ERROR_YN  = 'Y';  
                    CALL PROC_LOG(SRCH_CNTE, SQL_NM, ERROR_YN, ERROR_MSG);
            END;
    END;
END//

DELIMITER ;

“error_yn”在此位置无效,需要标识符。
出现语法错误。

我已经完成了变量声明,我不认为有什么遗漏。我该修什么?

共有1个答案

闻人思聪
2023-03-14
BEGIN
    DECLARE EXIT HANDLER FOR SQLEXCEPTION
        BEGIN
            GET DIAGNOSTICS CONDITION 1 someVarient=RETURNED_SQLSTATE
              , ERROR_MSG = MESSAGE_TEXT;
                
                CALL PROC_LOG(SRCH_CNTE, SQL_NM, 'Y', ERROR_MSG);
        END;
END;

它在更改为上面的代码后被成功提交。

 类似资料:
  • 我需要使用反向工程MySQL Create Script import命令导入mod-ap.sql文件。当我执行此操作时,在两个位置(10,0)和(43,0)处收到一个错误。错误:“)”在此位置无效,需要标识符。 第7-15行; 第41-46行 ***第10行为空 ***使用--注释将第43行屏蔽掉 我试着研究了这个问题,并在workbench中发现了一些bug,或者保留了一些特定的单词,但与此无

  • Oracle 11g Express Edition..创建表时出错 ORA-00904:无效标识符

  • 我已经在虚拟XP中安装了Oracle 10g,并使用 并且成功地创建了表。但是当我试图通过简单的查询获取值时,如 我得到的错误就像 ORA-00904:"bbb":无效标识符 我不能理解我在这里做错了什么。

  • 我写以下查询作为源在我的ADF。我得到以下错误: 错误[42S22][Microsoft][ODBC Oracle Wire Protocol driver][Oracle]ORA-00904::标识符无效 需要找出错误在哪里吗?

  • 创建此表后,我正在尝试添加外键 我想使用Alter table创建的外键是Sailnumber: ALTER表成员添加外键(sailnumber)引用船(sailnumber) sailnumber是table boat的主键,如下所示 然而,我得到了这个错误SQL错误: ORA-00904:"SAILNUMBER":无效的标识符,我不知道为什么我得到有人能告诉我哪里出错了吗?

  • 我正在尝试使用此查询创建一个表(customer)到数据库, 我得到以下回复: 错误报告-SQL错误:ORA-00904::标识符00904无效。00000-%s:无效标识符