3

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 に答える