Syntax
Hi All,
What is the difference or use case for below syntaxes?
do $$
declare d int;
begin
RAISE INFO 'Script started at %', CURRENT_TIMESTAMP;
update employees set first_name = 'g' where employee_id = 1; get
diagnostics d = row_count; raise info 'selected: % rows', d;
RAISE INFO 'Script finished at %', CURRENT_TIMESTAMP; end;$$;
Or
Just
Begin;
Update statements
Commit;
On Thu, Dec 7, 2023 at 3:01 AM arun chirappurath <arunsnmimt@gmail.com>
wrote:
Hi All,
What is the difference or use case for below syntaxes?
do $$
declare d int;
begin
RAISE INFO 'Script started at %', CURRENT_TIMESTAMP;
update employees set first_name = 'g' where employee_id = 1; get
diagnostics d = row_count; raise info 'selected: % rows', d;
RAISE INFO 'Script finished at %', CURRENT_TIMESTAMP; end;$$;Or
Just
Begin;
Update statements
Commit;
One shows when the statement started, and when *you think* it ended, while
the other doesn't.
https://www.postgresql.org/docs/15/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT
"Since these functions return the start time of the current transaction,
their values do not change during the transaction."
What you really want is clock_timestamp().