您好我查询了类似的teradata数据库:
for var in `db2 -x "$other_query"`;
do
query_update_date="update test SET date =Null WHERE
name_test='$var '"
db2 -v "$query_update_date"
done
我的查询已执行,但只有当一行或更多行因更新而受影响(更改)时,我才会打印query_update_date。
示例:
如果我有
首先查询循环:
query_update_date="update test SET date =Null WHERE
name_test='John'"
和循环的第二个查询:
query_update_date="update test SET date =Null WHERE
name_test='Jeff'"
在查询之前的表格中:
name_test date
Jeff 01/07/2016
John Null
查询后
name_test date
Jeff Null
John Null
John的约会日期已为空,因此未受更新影响。 和
db2 -v "$query_update_date"
打印我的查询。我之前的例子只是在我的日志中打印
query_update_date="update test SET date =Null WHERE
name_test='Jeff'"
答案 0 :(得分:0)
在执行查询之前和之后拍摄表的快照。使用您喜欢的任何工具:如何(假设SQL) SPOOL “SELECT * FROM T ”预先查询此文件,然后再查询到该文件。使用UNIX diff 命令比较这两个文件,并仅计算其输出的长度:
LINES_OUT = $(diff oldResults newResults | wc -l)
如果[[$ LINES_OUT = 0]]
然后
#记录查询,但是你这样做了 网络强>
如果 $ IS_ANY_DIFF 为true,请记录查询;否则,不要。