Download presentation
Presentation is loading. Please wait.
Published byDeshaun Ensor Modified over 9 years ago
1
O VERVIEW OF SQL PL L ANGUAGE E LEMENTS & M ODULES
2
U NIT OBJECTIVES After completing this unit, you should be able to: Discuss DB2 data types Select the proper data types Work with user-defined data types Work with Row data type Work with Associative arrays Implement data type anchoring Create Module Replace Module Alter Module Drop Module
3
DB2 B UILT - IN D ATA T YPES
4
U SER -D EFINED D ISTINCT T YPES UDTs –User-Defined Data Types: Defined on existing data types Generates a function to cast between the distinct type and its source type Generates a function to cast between the source type and its distinct type Used to enforce business rules CREATE
5
ROW DATA TYPE
6
ARRAY DATA TYPE Conventional array CREATE TYPE arrType AS INTEGER ARRAY[1000]; Associative array CREATE TYPE arrType2 AS INTEGER ARRAY[VARCHAR(100)]; CREATE TYPE arrType3 AS myRowType ARRAY[VARCHAR(100)];
7
A SSOCIATIVE ARRAYS : E XAMPLE (1 OF 2)
8
A SSOCIATIVE ARRAYS : E XAMPLE (2 OF 2)
9
D ATA T YPE A NCHORING Keep procedural variables in sync with table columns Scalar anchoring DECLAREempSalaryANCHORemployee.salary; Row anchoring DECLARE emp ANCHOR ROWemployee; BEGIN DECLARE emp ANCHOR ROW employee; SETemp.empno= ‘000100’; SETemp.lastname= ‘McClung’; SETemp.firstname= ‘Naomi’; END
10
M ODULES : O VERVIEW Module = bundle of several related objects: SPs, UDFs, global variables and cursors, types, conditions Similar to a class in OO languages (but single instance) Four main benefits: Code organization/structure Scoping CALL mySchema.myModule.myProc() Information hiding Each object can be “public” or “private” Global privilege control Instead of granting/revoking on each SP, UDF or variable
11
M ODULES : M ODULE SPECIFICATION Module that exports a type, a Stored Procedure, and a User-Defined Function CREATE OR REPLACE MODULE myMod; ALTER MODULE myMod PUBLISH TYPE myRowTypAS ANCHOR ROW myTab; ALTER MODULE myMod PUBLISH FUNCTION myFunc(val1 ANCHOR myTab.col1) RETURNS myRowTyp; ALTER MODULE myMod PUBLISH PROCEDURE myProc(OUTparm1 ANCHOR myTab.col2);
12
END M ODULES : M ODULE IMPLEMENTATION
13
M ODULES : O THER STATEMENTS DROP MODULE myMod; Drops entire module ALTER MODULE myMod DROP BODY; Drop “implementation”, keeps “specification” ALTER MODULE myMod DROP PROCEDURE myProc; Drops module object GRANT EXECUTE ON MODULE myMod TO joe; Grants user joeexecute privilege on all routines and access to all variables and types in myMod Modules
14
U NIT SUMMARY Having completed this unit, you should be able to: Discuss DB2 data types Select the proper data types Work with user-defined data types Work with Row data type Work with Associative arrays Implement data type anchoring Create Module Replace Module Alter Module Drop Module
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.