Сервер Digital Q.DataBase возвращает строку статуса команды, такую как INSERT 149592 1, для каждой
полученной им команды. Это достаточно просто, когда правила не задействованы, но что происходит, когда запрос переписывается системой правил?
Правила влияют на статус команды следующим образом:
Если для запроса нет безусловного INSTEAD правила, то
будет выполнен исходный запрос, а статус данной
команды будет возвращён как обычно. (Но учтите: если существовали
какие-либо условные INSTEAD правила, то отрицание их условий
будет добавлено к исходному запросу. Это может уменьшить
количество обрабатываемых им строк, и в этом случае возвращаемый статус
изменится.)
Если же имеется безусловное INSTEAD правила, то
правило, исходный запрос не будет выполнен вовсе. В этом случае
сервер вернёт статус команды для последнего запроса,
добавленного INSTEAD правилом (условным или
безусловным) и относится к тому же типу команды,
(INSERT, UPDATE, или
DELETE) что и исходный запрос. Если ни один запрос,
отвечающий этим требованиям, не будет добавлен ни одним правилом, то
возвращаемый статус команды будет содержать тип исходного запроса,
а в полях количества строк и OID будут указаны нули.
Программист может гарантировать, что конкретное INSTEAD желаемое правило окажется тем, которое устанавливает статус команды во втором случае, если присвоить ему имя, идущее последним по алфавиту среди активных правил, чтобы оно применялось последним.