There is no need to write it in this way:
exec sql set (:day, :month, :year) = (day(:date), month(:date), year(:date));
Exec SQL Set :MyDay = Day(Current_Date),
MyMonth = Month(Current_Date),
:MyYear = Year(Current_Date)
Will also work.
There might be a small performance advantage setting multiple variables with a single SET or VALIES Statement versus running several independent SET or VALUES statements.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
Modernization – Education – Consulting on IBM i
Database and Software Architect
IBM Champion since 2020
"Shoot for the moon, even if you miss, you'll land among the stars." (Les Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them and keeping them!"
"Train people well enough so they can leave, treat them well enough so they don't want to. " (Richard Branson)
"Learning is experience … everything else is only information!" (Albert Einstein)
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Daniel Gross
Sent: Monday, 12 August 2024 20:58
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: embedded sql
Hi Jay,
Am 12.08.2024 um 19:12 schrieb Jay Vaughn <jeffersonvaughn@xxxxxxxxx>:
what is better (in any aspect of better)...
set : x = y
or values y into :x
From a readability point of view, a statement like
exec sql set :number = regexp_substr(:myString, '(\d{1,25})', 1, 'I', 1);
looks more like a typical procedural program line.
On the other side, a statement like
exec sql values (day(:date), month(:date), year(:date)) into :day, :month, :year;
looks (maybe) more natural, with an multi-value assignment. But in fact
exec sql set (:day, :month, :year) = (day(:date), month(:date), year(:date));
does also work, and is (maybe) easier to read for Python programmers (or other programmers, where the language supports multi value assignments).
So I think its a matter of taste. AFAIK (or better seen in compiler listings) both statements generate the same amount of code and the same call in the pre-compiler output - so there shouldn't be any speed difference.
HTH
Daniel
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
As an Amazon Associate we earn from qualifying purchases.