, pl_exec.c:2840
INSERT 0 1
– 插入的值被最后一个before for each row触发器函数的返回值取代, 篡改为2了:
postgres=# select...不管是返回NULL还是HeapTuple都无意义, 所以返回NULL就可以了.
– after for each row 的触发器函数的返回值也没有意义, 不会造成任何影响....不管是返回NULL还是HeapTuple都无意义, 所以返回NULL就可以了.
– 因此有意义的就是before for each row的触发器函数的返回值....– before for each row触发器函数返回NULL将造成跳过该行的操作, 同时跳过后面所有的for each row触发器....=false, ROW_COUNT=0;
视图的instead of for each row触发器函数返回空, 一样, 如果整个SQL的行都跳过处理那么最终的FOUND=false, ROW_COUNT