【发布时间】:2020-03-20 06:54:17
【问题描述】:
我已经在这个过程中玩了一段时间并且使用了INSTR(),并且在此之前从未遇到任何问题
现在。 a.review 是一个 CLOB,INSTR() 在一个简单的 SELECT 语句中起作用。
DECLARE
lv_hotel NUMBER;
seed_cnt NUMBER;
lv_cat NUMBER;
lv_pol NUMBER;
f NUMBER;
BEGIN
FOR f IN 1..4176
LOOP
SELECT a.IDHotel ,DBMS_LOB.INSTR(a.review, b.seed_words), b.CATEGORYID, SUM(b.Polarity)
INTO lv_hotel, seed_cnt, lv_cat, lv_pol
FROM review a, SEEDWORDS b
GROUP BY a.IDHOTEL, b.CategoryID, DBMS_LOB.INSTR(a.review, b.seed_words), a.review, b.seed_words;
FOR lv_cat IN 1..4
LOOP
INSERT INTO RATINGS (RATING)
VALUES(lv_pol);
END LOOP;
END LOOP;
END;
当我运行上面的代码时,我得到如下所示的错误:
Error report -
ORA-00932: inconsistent datatypes: expected - got CLOB
ORA-06512: at line 11
00932. 00000 - "inconsistent datatypes: expected %s got %s"
*Cause:
*Action:
这附近有吗?我应该使用 REGEX 函数吗?
【问题讨论】: