3

我正在尝试将 a 保存CLOB到变量中以执行提取等操作。我有这个代码:

DECLARE
  clob_rec CLOB;
  n_rec NUMBER:=100;
BEGIN
  SELECT LOB INTO clob_rec FROM table1 WHERE ID = 1234;
  n_rec := clob_rec.EXTRACT('//XPTO/text()', 'xmlns:XPTO').getNumVal();
END;

我想将多个值从 保存XML到各种变量,例如n_rec. 如何获得“对象实例(CLOB)”来执行类似的功能或方法extract()

4

1 回答 1

5

您需要先将其转换为 XMLtype:

DECLARE
  clob_rec CLOB;
  n_rec NUMBER:=100;
  x XMLType;
BEGIN
  SELECT LOB INTO clob_rec FROM table1 WHERE ID = 1234;
  x := XMLType(clob_rec);
  n_rec := x.EXTRACT('//XPTO/text()', 'xmlns:XPTO').getNumVal();
END;
于 2012-09-18T04:33:57.377 回答