473,800 Members | 2,722 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Want to write a standard user defined function in the db2

Hi,
I want to write a standard java user defined function, like this
example:-
select db_fun("roll"), roll from student;
**db_fun() will work for all tables of the all databse
here db_fun is the function that i want to write.

The student table is:-
roll name
1 'A'
2 'B'
3 'C'

I used the column name as a parameter of the function. and the
db_fun () will return the name of the table corresponding to the roll.

Now, how can i access the name column from the db_fun()?

This is the same as the query:-
select name, roll from the student.
But i want, the name will return from the user defined
function.

Can i write such type of user defined function in the db2 databse?

Nov 12 '05
13 3500
Knut Stolze wrote:
Maroon wrote:

Hava you worked other database( Mysql ) before? I mentioned a example.
Anyway.
concat_ws add the string that are given to its parameter.

That's done by the CONCAT (or ||) operator in the SQL standard and also DB2.
So that is already covered.

and md5 will implement a algoritham like ssh

I think you're mixing up encryption, hash algorithms and network protocols.
md5() is a function that "Calculates an MD5 128-bit checksum for the
string." (according to the MySQL manual).
I believe the biggest issue here is to understand that functions have
nothing to do with tables per se. A function takes a set of input values
and returns an output value. Period.

In the original query, the function CONCAT_WS takes the two strings of the
current row in the "student" table and concatenates them to a single
string. That string is now passed to the MD5 function, which calculates
the MD5 checksum (a hash value basically).
Porting this to DB2 requires that you implement a function which takes a
string as input and returns the string's checksum. Register that function
(or Java method) as UDF, and off you go.

Look for this thread:
"Have any function in the DB2 database that can generate unique id for
each String?"
I posted a hash function on Oct 17 in this forum.

Cheers
Serge
--
Serge Rielau
DB2 SQL Compiler Development
IBM Toronto Lab
Nov 14 '05 #11
Knut,
Thanks for your kind reply.
In the original query, the function CONCAT_WS takes the two strings of the
current row in the "student" table and concatenates them to a single
string. How can i access the current rows in the CONCAT_WS function?
if the table is student and data is in the following:-
roll name
1 A
2 B
3 C

select roll, md5(concat_ws(" roll","name")) from student.

for the concat_ws--->The output will be

1 1A
2 2A
3 3C

How can i find the current rows in my user defined function?

I am looking forward for ur kind reply.

Knut Stolze wrote: Maroon wrote:
Hava you worked other database( Mysql ) before? I mentioned a example.
Anyway.
concat_ws add the string that are given to its parameter.


That's done by the CONCAT (or ||) operator in the SQL standard and also DB2.
So that is already covered.
and md5 will implement a algoritham like ssh


I think you're mixing up encryption, hash algorithms and network protocols.
md5() is a function that "Calculates an MD5 128-bit checksum for the
string." (according to the MySQL manual).
I believe the biggest issue here is to understand that functions have
nothing to do with tables per se. A function takes a set of input values
and returns an output value. Period.

In the original query, the function CONCAT_WS takes the two strings of the
current row in the "student" table and concatenates them to a single
string. That string is now passed to the MD5 function, which calculates
the MD5 checksum (a hash value basically).
Porting this to DB2 requires that you implement a function which takes a
string as input and returns the string's checksum. Register that function
(or Java method) as UDF, and off you go.

--
Knut Stolze
DB2 Information Integration Development
IBM Germany


Nov 15 '05 #12
Maroon wrote:
Knut,
Thanks for your kind reply.
In the original query, the function CONCAT_WS takes the two strings of
the
current row in the "student" table and concatenates them to a single
string. How can i access the current rows in the CONCAT_WS function?


That's the thing: you don't access the row from the function but rather the
values of the columns of the current row are passed to the function. You
just have it backwards!
if the table is student and data is in the following:-
roll name
1 A
2 B
3 C

select roll, md5(concat_ws(" roll","name")) from student.

for the concat_ws--->The output will be

1 1A
2 2A
3 3C

How can i find the current rows in my user defined function?


What would you need that rows for. The function is called 3 times, once for
each row. The first call gets the concatenation of "1" and "A" as input,
calculates the MD5 checksum and return that value. The second call gets
"2" and "B" as input, and the third gets "3" and "C" - just like functions
work in pretty much all other programming languages.

--
Knut Stolze
DB2 Information Integration Development
IBM Germany
Nov 15 '05 #13
Knut
Thanks

Maroon
www.jence.com

Nov 16 '05 #14

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

14
1626
by: Clay_Culver | last post by:
My professor claims that this code: int f() { int x = 5; int &y = x; x += ++y; return x; }
2
5487
by: David Emme | last post by:
Access 97 I have a number of SELECT statements which contain references to user-defined VBA functions. These typically work as expected, but occasionally, on one user's machine or another, produce a "function not defined" message when the SELECT statement is executed, even having previously worked on that machine. What can I do to correct this difficulty when it occurs? What do I need to know about user-defined functions in SELECT...
5
4412
by: Confused User | last post by:
I am working on device that utilizes a Motorola 68HC16 microcontroller. I am using an old unsupported piece of crap Whitesmith's / Intermetrics / Tasking compiler. The embedded compiler business was quite insestual for while wasn't it? I need to write putchar so that printf can function properly. Anyway, the compiler comes with just a shell of a putchar routine. It literally returns the character you passed to it and nothing else. That is...
15
1352
by: seema_coma | last post by:
Hi all, I am new to C programming, All I just need to know is how to write the following in C, if (open STDOUT){ close the STDOUT } Can anyone guide me Thanks
4
2006
by: Steven T. Hatton | last post by:
<quote url="http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=53&rl=1"> exported Templates Last updated Sep 6, 2006. exported Templates The separate compilation model enables us to define functions, types and objects in one translation unit and refer to them from other translation
14
2588
by: Jeroen | last post by:
Hi all, I've got a question about writing a library. Let me characterize that library by the following: * there is a class A which is available to the user * there is a class B that is used in severel 'underwater operations' * there is a list which stores objects of class B There are several issues I'm not sure about:
23
3007
by: asit dhal | last post by:
hello friends, can anyone explain me how to use read() write() function in C. and also how to read a file from disk and show it on the monitor using onlu read(), write() function ??????
0
165
by: James Kanze | last post by:
On May 16, 9:34 am, Paavo Helde <nob...@ebi.eewrote:
63
3269
by: Bill Cunningham | last post by:
I don't think I can do this without some help or hints. Here is the code I have. #include <stdio.h> #include <stdlib.h> double input(double input) { int count=0,div=0; double mean=0,linput=0; FILE *fpr, *fpw;
0
10507
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10279
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10255
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7582
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6815
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5607
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4150
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3765
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2948
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.