我正在使用此查询从XML
中提取值SELECT extractvalue(column_value, '/TransactionLimitDTO/idTxn') "TxnId"
FROM TABLE(XMLSequence(XMLType(mg.limits)
.extract('/ModifyTransactionLimitRequestDTO/transactionLimit/TransactionLimitDTO'))) t,Mstgloballimitspackage mg
但是,我收到了一个错误:
ORA-00904:“MG”。“LIMITS”:标识符无效
你能告诉我怎么解决这个问题?
我试过了:
SELECT extractvalue(column_value, '/TransactionLimitDTO/idTxn') "TxnId"
FROM TABLE(XMLSequence(XMLType(select mg.limits from Mstgloballimitspackage mg)
.extract('/ModifyTransactionLimitRequestDTO/transactionLimit/TransactionLimitDTO'))) t
但这也行不通。
当我在mg.limits
的位置放置一个完整的XML文件时,我得到一个太长的字符串文字作为参数错误。
每当我在mg.limits
。
答案 0 :(得分:1)
这将有效:
SELECT extractvalue(t.column_value, '/TransactionLimitDTO/idTxn') "TxnId"
FROM Mstgloballimitspackage mg,
TABLE(XMLSequence(XMLType(mg.limits,'')
.extract('/ModifyTransactionLimitRequestDTO/transactionLimit/TransactionLimitDTO'))) t