意外标记:语句 [CASE] 中的大小写


CREATE TEXT TABLE IF NOT EXISTS PPE_COMMON_LOG (LOG_ID int PRIMARY KEY,COMP_NAME varchar(50),LOG_EVENT varchar(50),LOG_LEVEL varchar(30),LOG_MSG varchar(200),LOG_DATETIME datetime,LOG_ERROR_CODE varchar(80) );
Select COUNT(*) as "TCOUNT" From INFORMATION_SCHEMA.SYSTEM_TABLES Where TABLE_NAME = 'PPE_COMMON_LOG';
CASE TCOUNT WHEN 0 then 
    SET TABLE PPE_COMMON_LOG SOURCE "PPE_COMMON_LOG.csv;ignore_first=true;all_quoted=true";
    SET TABLE PPE_COMMON_LOG SOURCE HEADER "LOG_ID,COMP_NAME,LOG_EVENT,LOG_LEVEL,LOG_MSG,LOG_DATETIME,LOG_ERROR_CODE";
END CASE;

它给出"意外标记:语句 [CASE] 中的 CASE">

当 0 时带有 CASE TCOUNT 的块不正确。不能在 SQL 中编写 CASE 语句来执行其他 SQL 语句。

如果只想在某些情况下执行 SET TABLE 语句(具体取决于INFORMATION_SCHEMA中存在的内容(,则在 Java 中执行 SELECT 并检查返回计数并根据返回计数执行其他 SQL 语句。

最新更新