Syntax

Started by arun chirappurathover 2 years ago2 messagesgeneral
Jump to latest
#1arun chirappurath
arunsnmimt@gmail.com

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;

#2Ron
ronljohnsonjr@gmail.com
In reply to: arun chirappurath (#1)
Re: Syntax

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().