2010年8月22日日曜日

groovyとOracleでCLOB列に文字列を追加する

groovyとOracleでCLOB列に文字列を追加するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:oracle:thin:@localhost:1521:orcl",
"scott",
"tiger",
"oracle.jdbc.driver.OracleDriver")

// テーブル作成
sql.execute("""create table clobtest
(
cid number(4) not null,
content clob,
constraint pk_clobtest primary key (cid)
)"""
)
// CLOBにテキスト挿入
sql.execute("""insert into clobtest values (1, 'abc')""")

// CLOBの表示
sql.eachRow("select * from clobtest"){
println("${it.cid}")
println("${it.content.getCharacterStream().text}")
}
// CLOBにテキストを追加
sql.execute("""
declare
c1 clob;
begin
select content into c1 from clobtest where cid = 1 for update;
dbms_lob.append(c1, 'def');
end;
""")
// CLOBの表示
sql.eachRow("select * from clobtest"){
println("${it.cid}")
println("${it.content.getCharacterStream().text}")
}


動作環境
groovy 1.7.4, JDK6 Update21, Oracle11g R2

0 件のコメント:

コメントを投稿