What About:
Create View YourFirstView
As (Select a.*, yourText
From yourFile a Join YourTextFile on ....);
Create View NextView
As (Select *
From YourFirstView ....)
Then use the view you need (no need to code anything over and over again).
UDFs perform normally worse than joins. A UDF is for the query optimizer a
black box.
Joins are visible to the query optimizer, independent whether they are
entered directly or whether they are located in even nested views.
In this way the query optimizer can find better solutions when using views
contrary to UDFs.
Example: If you have a UDF that returns the customer name.
With an UDF a "chain" must be performed for each row. If the same customer
is returned in multiple rows, the UDF is called for each row.
If a JOIN is used instead, the optimizer might be able to find an access
plan that reads the customer information only once.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"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)
-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Roger
Harman
Sent: Mittwoch, 29. März 2017 20:13
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: SQL UDF to return one column from a row
I've been going around and around on this. I've done scalar UDF's but this
has me stumped.
I want to create a UDF that returns a text description from a reference
file. In this case, supplier names are externally stored.
I currently do this with a join but it is a pain to repeat over & over.
Also, the external file is multi-use and contains descriptions and other
data for thousands of circumstances.
example: select CompanyNbr, ItemNbr, SupplierNbr,
GetSupplierName(CompanyNbr, ItemNbr, SupplierNbr) from ItemMaster
I have yet to find a decent example showing this. Does anyone have an
example? Also having trouble with long name versus specific name.
Thanks!
Roger Harman
COMMON Certified Application Developer - ILE RPG on IBM i on Power
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
http://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
http://amzn.to/2dEadiD
As an Amazon Associate we earn from qualifying purchases.