在执行之前需要来自update sql的列名和列值

时间:2017-03-20 05:51:23

标签: java sql

我需要知道使用java更新sql的列和值列表。代码是在执行更新sql之前读取更新查询并备份实际列值。为此,需要知道列名称。请指教!

sql = update testenv.employee set gender =' 2',StudentInd =' 112233'其中empID在(987987);

String criteriaQuery = resultset.getString("query"); // this is the update statement which is not constant and varies everytime.  

String schema = StringUtils.substringBetween(criteriaQuery.toUpperCase()," UPDATE","。")。trim();
String table = StringUtils.substringBetween(criteriaQuery.toUpperCase(), ".", "SET").trim(); String columnName = StringUtils.substringBetween(criteriaQuery.toUpperCase(), "SET", "=").trim();

但是columnName不会获得正确的列。需要优化代码,以便我可以从更新查询中获取整个列名。

1 个答案:

答案 0 :(得分:0)

如果您正在使用JDBC,则可以使用以下命令:

ResultSetMetaData md = rs.getMetaData();
获取select语句的结果集后

http://www.roseindia.net/jdbc/jdbc-mysql/DiscriptionTable.shtml
提供一个明确的示例,同样适用于SQLServer数据库和Oracle。