在更新我之前的问题时,
我有一些换行符分隔的字符串。我需要将每个单词插入表格中。新的逻辑及其条件是,如果不存在则插入,或者将相应的计数更新1。(就像使用MERGE一样)。但是我当前的查询只是使用插入,所以我使用了 CONNECT BY LEVEL 方法而不检查值是否存在。
它的语法有点像:
if the word already EXISTS THEN
UPDATE my_table set w_count = w_count +1 where word = '...';
else
INSERT INTO my_table (word, w_count)
SELECT REGEXP_SUBSTR(i_words, '[^[:cntrl:]]+', 1 ,level),
1
FROM dual
CONNECT BY REGEXP_SUBSTR(i_words, '[^[:cntrl:]]+', 1 ,level) IS NOT NULL;
end if;