Presentation is loading. Please wait.

Presentation is loading. Please wait.

O VERVIEW OF SQL PL L ANGUAGE E LEMENTS & M ODULES.

Similar presentations


Presentation on theme: "O VERVIEW OF SQL PL L ANGUAGE E LEMENTS & M ODULES."— Presentation transcript:

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


Download ppt "O VERVIEW OF SQL PL L ANGUAGE E LEMENTS & M ODULES."

Similar presentations


Ads by Google