Java 如何在SQL中获取SET部分

Java 如何在SQL中获取SET部分,java,sql,regex,oracle,Java,Sql,Regex,Oracle,我需要记录一些SQL 为此,我需要得到一些零件,例如SET 例如: UPDATE table SET fieldA=132, fieldB=ABC WHERE id=10 在其他信息中,我需要知道哪些字段已更改,以及值 fieldA => 132 fieldB => ABC 我试着用一个简单的字符串使用regex.split(regex); 但是现在sql更新更加复杂,有一个子选择; 我的正则表达式失败了 UPDATE table SET fieldA=(SELECT NVL(o

我需要记录一些SQL

为此,我需要得到一些零件,例如SET

例如:

UPDATE table SET fieldA=132, fieldB=ABC WHERE id=10
在其他信息中,我需要知道哪些字段已更改,以及值

fieldA => 132
fieldB => ABC
我试着用一个简单的字符串使用regex.split(regex); 但是现在sql更新更加复杂,有一个子选择; 我的正则表达式失败了

UPDATE table SET fieldA=(SELECT NVL(otherField,0) FROM table2 WHERE c=10), fieldB=ABC WHERE id=10
要继续运行拆分,我只需要匹配第二个逗号,但无法匹配


我需要一种方法来获取字段并选择值​​已更改的

或者通过与sql server对话的java执行,首先选择行,然后执行更新,然后再次选择并检查更改的内容,或者使用某种类型的服务器内部日志记录,您只需记录您查询执行的更新,然后使用某种差异在日志文件中摇摆,以获得您尝试过的拆分的“regex”实际更改?@ITroubs:在复杂SQL中,fieldA的值是subselect;不是由于subselect@RajuSharma:在第一种情况下:“,”@Falci您应该发布您所尝试的内容。