Loading...
Select Version
Example 1: Determining the year number
The GetCurrentYear UDF below returns the current year as a number. It contains no SQL statements for reading or updating data.
CREATE FUNCTION GetCurrentYear (IN time TIMESTAMP(3)) RETURNS DECIMAL(4) CONTAINS SQL RETURN EXTRACT (YEAR FROM time)
The GetCurrentYear UDF in the schema FuncSchema is used:
Determining all orders of the year 2014:
DECLARE cursor_1 CURSOR FORSELECT order_number, customer_name FROM ordersWHERE FuncSchema.GetCurrentYear(order_completion_date) = 2014Set expiration year to the year after next (schema
FuncSchemais preset):UPDATE model.exemplarSET expiration_year = GetCurrentYear(CURRENT_TIMESTAMP(3)) + 2
Example 2: Determining the price of an item
CREATE FUNCTION ITEM_PRICE (IN P_ITEMNUM INTEGER)
RETURNS NUMERIC(8,2)
READS SQL DATA
BEGIN
RETURN (SELECT PRICE FROM PARTS.ITEM WHERE ITEMNUM= P_ITEMNUM);
END
Example 3: Anonymizing a credit card number
The UDF mask_credit_card_number below anonymizes a credit card number by masking the last four digits:
CREATE FUNCTION mask_credit_card_number(IN card_no CHAR(16)) RETURNS CHAR(16) CONTAINS SQL RETURN SUBSTRING(card_no FROM 1 FOR 12) || '****'
A notification could thus be structured as follows:
Select surname, first_name, mask_credit_card_number(credit_card_number)
from ...