----------------------------------------------------------------------------- -- (c) Copyright IBM Corp. 2007 All rights reserved. -- -- The following sample of source code ("Sample") is owned by International -- Business Machines Corporation or one of its subsidiaries ("IBM") and is -- copyrighted and licensed, not sold. You may use, copy, modify, and -- distribute the Sample in any form without payment to IBM, for the purpose of -- assisting you in the development of your applications. -- -- The Sample code is provided to you on an "AS IS" basis, without warranty of -- any kind. IBM HEREBY EXPRESSLY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR -- IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do -- not allow for the exclusion or limitation of implied warranties, so the above -- limitations or exclusions may not apply to you. IBM shall not be liable for -- any damages you suffer as a result of using, copying, modifying or -- distributing the Sample, even if IBM has been advised of the possibility of -- such damages. ----------------------------------------------------------------------------- -- -- SOURCE FILE NAME: UDFsCreate.db2 -- -- SAMPLE: How to catalog the UDFs contained in UDFsqlsv.java -- -- To run this script from the CLP, perform the following steps: -- 1. connect to the database -- 2. issue the command "db2 -td@ -vf <script-name>" -- where <script-name> represents the name of this script ---------------------------------------------------------------------------- CREATE FUNCTION Convert(CHAR(2), DOUBLE, CHAR(2)) RETURNS DOUBLE EXTERNAL NAME 'UDFsqlsv!Convert' FENCED CALLED ON NULL INPUT NOT VARIANT READS SQL DATA PARAMETER STYLE DB2GENERAL LANGUAGE JAVA NO EXTERNAL ACTION@ CREATE FUNCTION sumSalary(CHAR(3)) RETURNS DOUBLE EXTERNAL NAME 'UDFsqlsv!sumSalary' FENCED CALLED ON NULL INPUT NOT VARIANT READS SQL DATA PARAMETER STYLE DB2GENERAL LANGUAGE JAVA NO EXTERNAL ACTION@ CREATE FUNCTION tableUDFWITHSQL ( DOUBLE ) RETURNS TABLE ( name VARCHAR(20), job VARCHAR(20), salary DOUBLE ) EXTERNAL NAME 'UDFsqlsv!tableUDF' LANGUAGE JAVA PARAMETER STYLE DB2GENERAL NOT DETERMINISTIC FENCED READS SQL DATA NO EXTERNAL ACTION SCRATCHPAD 10 FINAL CALL DISALLOW PARALLEL NO DBINFO@ CREATE TABLE EXCHANGERATE (sourceCurrency char(2), exchangeRate double, resultCurrency char(2))@ INSERT INTO EXCHANGERATE VALUES ('US',1.5,'CA')@ INSERT INTO EXCHANGERATE VALUES ('CA', .67, 'US')@