从 Oracle sqlplus 中的 shell 脚本向列类型 CLOB 插入一个大字符串

Insert a large string to a Column type CLOB from a shell script in Oracle sqlplus

我想编写一个 shell 脚本来连接到我的 oracle 数据库并更新列类型 clob。这个 clob 的值是从一个文件(这是一个 xml)中读取的,并从我的脚本中获取到一个变量中,查询是从 sqlplus 中执行的。

我已经写了一个脚本来读取一个文件-abc.xml,它有大约 30000 个字符。连接工作正常,因为我执行了一些其他插入查询没有问题

#!/bin/sh
value=$(<abc.xml)
query="UPDATE MY_CLOB_TABLE SET MY_CLOB_COLUMN=TO_CLOB('$value') WHERE MY_OTHER_COLUMN='AnotherColumn';"
echo $query | sqlplus -s $ORACLE_CON_STRING 

我收到一条错误消息

Input truncated to 7499 characters
SP2-0027: Input is too long (> 2499 characters) - line ignored

如何将这样的大文件插入到 clob 中?

请检查下面post并尝试将查询修改为多行

https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4789399600346029472