我想创建一个存储过程,该过程采用表和row_id的名称,并可以将其序列化为xml字符串.
该表可能包含clobs和blob.
我可以在PL/SQL中执行此操作,还是必须使用Java?
这样做的主要目的是让所有更新一个表,并删除了一些表,保持X最新版本,或数据的X天(该表将包括类似chg_date(default:sysdate)
,chg_type(U or D)
,chg_xml
,并可能与有关用户的一些元数据).
可能的用途: - 它还可以保留所有数据并用作日志 - 将行返回到任何先前值的能力. - 能够以特定格式执行EDI.
我不想使用Oracle的闪回查询来实现这一目标,因为无法保证数据的可用性.
Oracle具有以xml格式返回查询的功能.
在此示例中,将&table替换为您的表名,将&rowid替换为rowid.我测试了它,它似乎与clobs和blob一起使用.对于blob,它以十六进制形式返回数据.
SELECT DBMS_XMLGEN.getxmltype ('select * from &table_name where rowid = ''&rowid''' ) FROM DUAL