如何仅使用PL / SQL更新大值的CLOB,而不修改数据库模式?

蒂姆·迈耶(Tim Meyer)

假设您有一个Oracle 10g(10.2.0.3)数据库方案,该方案无法修改(因为它不在您的控制之下),并且想要将大字符串(100k +个字符)插入某些CLOB字段中,以便使用PL / SQL进行测试(更精确地说:可以通过sqlplus通过批处理文件执行的SQL脚本)。是否有可能?

我发现了几种使用.NET,oci等或创建存储过程的解决方案,但是我需要一个可以在SQL Developer中运行的解决方案,例如,无需对DB方案做任何修改(例如添加存储过程等)。

我已经尝试了几种方法,例如

-- Disclaimer: I typed this by heart just for SO, there might be syntax errors
DECLARE
  v_test CLOB;
  v_clob_to_update CLOB;
BEGIN

  -- Note: rpad only works up to 32755 or something
  v_test := to_clob( rpad( 'This is a very long string', 30000, '.' ) );
  v_test := v_test || to_clob( rpad( '.', 30000, '.' ) );

  SELECT my_clob_field INTO v_clob_to_update FROM my_table WHERE my_id = 1234 FOR UPDATE;
  DBMS_LOB.WRITE( v_clob_to_update, LENGTH( v_test ), 1, v_test );
END;

但我总是最终收到“字符串文字太长”或“数字或值错误”消息。

在遵守我所给予的限制的同时,是否可以这样做?

贾斯汀·凯夫(Justin Cave)

如果您使用该dbms_lob包写入v_test,则应该克服所得到的错误。字符串串联运算符||尚未重载以处理LOB数据。

换句话说,而不是

v_test := v_test || to_clob( rpad( '.', 30000, '.' ) );

你可能想要

dbms_lob.writeAppend( v_test, 30000, rpad( '.', 30000, '.' ) );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

保存更改之前,如何修改数据库上下文实体的当前值

来自分类Dev

是否可以使用带有Active Record的SQL注入来修改数据库

来自分类Dev

ddev:如何修改数据库凭据

来自分类Dev

使用MySQL Workbench修改数据库架构

来自分类Dev

如何在 DataGridView 中从 SQL 数据库更改数据源,以便更新

来自分类Dev

使用SQLAlchemy,如何仅使用json更新数据库?

来自分类Dev

如何在不修改原始数据库的情况下使用javadb进行JUnit测试jpa代码?

来自分类Dev

SQL:删除内容后如何更改数据库?

来自分类Dev

Python-Eve:在插入数据库之前,使用请求前事件挂钩修改数据

来自分类Dev

如何基于MS SQL 2012数据库中的模式批量更新varchar数据?

来自分类Dev

如何在Meteor App中从UI修改数据库

来自分类Dev

在其他活动中修改数据库后,如何重新填充arrayadapter?

来自分类Dev

5分钟后如何修改数据库(mysql)并将其还原?

来自分类Dev

更改数据库时如何使用INotifyPropertyChanged更新列表

来自分类Dev

在Fluent NHibernate中使用继承的映射修改数据库结构

来自分类Dev

使用SPARQL更新修改数据

来自分类Dev

使用SPARQL更新修改数据

来自分类Dev

使用javascript更新数据库值

来自分类Dev

使用值范围更新数据库

来自分类Dev

如何使用 Appcelerator 正确更新 sql 数据库中的值?

来自分类Dev

如何使用PHP更改数据库onclick按钮中的字段值

来自分类Dev

如何使用PL / SQL遍历JSON响应?

来自分类Dev

使用php更新sql数据库

来自分类Dev

如何仅使用JSTL从数据库中检索选定下拉值的数据?

来自分类Dev

如何使用PHP脚本仅获取数据库的内容

来自分类Dev

Rails中是否存在任何仅修改数据库列而不在保存等方法之前,之后运行的方法?

来自分类Dev

Python Panda:如何使用多个值修改数据框

来自分类Dev

如何从Oracle中的远程数据库本地插入CLOB数据类型列值

来自分类Dev

如何使用LINQ更新数据库?Linq到SQL

Related 相关文章

  1. 1

    保存更改之前,如何修改数据库上下文实体的当前值

  2. 2

    是否可以使用带有Active Record的SQL注入来修改数据库

  3. 3

    ddev:如何修改数据库凭据

  4. 4

    使用MySQL Workbench修改数据库架构

  5. 5

    如何在 DataGridView 中从 SQL 数据库更改数据源,以便更新

  6. 6

    使用SQLAlchemy,如何仅使用json更新数据库?

  7. 7

    如何在不修改原始数据库的情况下使用javadb进行JUnit测试jpa代码?

  8. 8

    SQL:删除内容后如何更改数据库?

  9. 9

    Python-Eve:在插入数据库之前,使用请求前事件挂钩修改数据

  10. 10

    如何基于MS SQL 2012数据库中的模式批量更新varchar数据?

  11. 11

    如何在Meteor App中从UI修改数据库

  12. 12

    在其他活动中修改数据库后,如何重新填充arrayadapter?

  13. 13

    5分钟后如何修改数据库(mysql)并将其还原?

  14. 14

    更改数据库时如何使用INotifyPropertyChanged更新列表

  15. 15

    在Fluent NHibernate中使用继承的映射修改数据库结构

  16. 16

    使用SPARQL更新修改数据

  17. 17

    使用SPARQL更新修改数据

  18. 18

    使用javascript更新数据库值

  19. 19

    使用值范围更新数据库

  20. 20

    如何使用 Appcelerator 正确更新 sql 数据库中的值?

  21. 21

    如何使用PHP更改数据库onclick按钮中的字段值

  22. 22

    如何使用PL / SQL遍历JSON响应?

  23. 23

    使用php更新sql数据库

  24. 24

    如何仅使用JSTL从数据库中检索选定下拉值的数据?

  25. 25

    如何使用PHP脚本仅获取数据库的内容

  26. 26

    Rails中是否存在任何仅修改数据库列而不在保存等方法之前,之后运行的方法?

  27. 27

    Python Panda:如何使用多个值修改数据框

  28. 28

    如何从Oracle中的远程数据库本地插入CLOB数据类型列值

  29. 29

    如何使用LINQ更新数据库?Linq到SQL

热门标签

归档