SlideShare une entreprise Scribd logo
1  sur  26
0
DB2 Database
By
Sunny Okoro
1
Contents
Database Platform................................................................................................................................................................... 3
Applications............................................................................................................................................................................... 3
Sample Database Installation............................................................................................................................................. 7
Built In Function..................................................................................................................................................................11
User Defined Function.........................................................................................................................................................13
Data Definition........................................................................................................................................................................16
Stored Procedures.................................................................................................................................................................18
Triggers......................................................................................................................................................................................21
2
3
Database Platform
IBM DB2EXPRESS EDITION
Applications
DB2 Command Line Processor
4
Microsoft Visual Studio 2010 and 2012
Oracle JDeveloper
5
IBM Data Studio
Microsoft Visio 2010
6
Microsoft Excel and Power Pivot
7
Sample Database Installation
8
9
10
11
Built In Function
Column functions
SELECT
C.CUST_LAST_NAME ,C.CUST_FIRST_NAME,
C.CUST_CODE, C.CUST_AGE, C.CUST_CITY,
C.CUST_PROV_STATE, CON.ISO_THREE_LETTER_CODE,
CON.COUNTRY_EN, SUM(COH.CUST_TOTAL)as Cust_Total,
Max(COH.CUST_TOTAL)as Highest_Cust_Total,
Min(COH.CUST_TOTAL)as Lowest_Cust_Total
FROM
GOSALESCT.CUST_ORDER_HEADER COH
INNER JOIN
GOSALESCT.CUST_CUSTOMER C
ON
COH.CUST_CODE = C.CUST_CODE
INNER JOIN
GOSALESCT.CUST_COUNTRY CON
ON
CON.COUNTRY_CODE = C.CUST_COUNTRY_CODE
GROUP BY C.CUST_LAST_NAME, C.CUST_FIRST_NAME, C.CUST_CODE, C.CUST_AGE, C.CUST_CITY, C.CUST_PROV_STATE, CON.ISO_THREE_LETTER_CODE, CON.COUNTRY_EN
CUST_LAST_NAME CUST_FIRST_NAME CUST_CODE CUST_AGE CUST_CITY CUST_PROV_STATE ISO_THREE_LETTER_CODE COUNTRY_EN CUST_TOTAL HIGHEST_CUST_TOTAL LOWEST_CUST_TOTAL
Kennedy Debbie 100136 19 Brisbane Queensland AUS Australia 174.57 98.7 75.87
Stedman Helen 100359 25 Brisbane Queensland AUS Australia 907.34 519.73 387.61
Durán Grenadda 100656 33 Brisbane Queensland AUS Australia 1072.18 959.14 113.04
Salter Zinia 100732 45 Brisbane Queensland AUS Australia 384.75 220.52 164.23
Merriman Rodney 100844 31 Brisbane Queensland AUS Australia 869.04 621.61 247.43
Jensen Vivian 100967 29 Brisbane Queensland AUS Australia 590.54 299.93 290.61
Harriman Trent 101003 19 Brisbane Queensland AUS Australia 1390.99 1321.38 69.61
Rolson Ivan 101103 27 Brisbane Queensland AUS Australia 729.15 464.4 264.75
Results Abridged
Scalar function
SELECT
C.CUST_LAST_NAME ,C.CUST_FIRST_NAME,
C.CUST_CODE, C.CUST_AGE, C.CUST_CITY,
C.CUST_PROV_STATE, CON.ISO_THREE_LETTER_CODE,
CON.COUNTRY_EN,
COH.CUST_ORDER_DATE,
VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'YYYY-MM-DD')AS CUST_ORDER_DATE2,
date (COH.CUST_ORDER_DATE) as DATE,
month (COH.CUST_ORDER_DATE) as MONTH,
day (COH.CUST_ORDER_DATE) as DAY,
DAYOFWEEK_ISO (COH.CUST_ORDER_DATE) as WEEK,
year (COH.CUST_ORDER_DATE) as YEAR,
time(COH.CUST_ORDER_DATE)as TIME,
hour(COH.CUST_ORDER_DATE) as HOUR,
quarter(COH.CUST_ORDER_DATE) as QUARTER
FROM
GOSALESCT.CUST_ORDER_HEADER COH
INNER JOIN
GOSALESCT.CUST_CUSTOMER C
ON
COH.CUST_CODE = C.CUST_CODE
INNER JOIN
GOSALESCT.CUST_COUNTRY CON
ON
CON.COUNTRY_CODE = C.CUST_COUNTRY_CODE
GROUP BY C.CUST_LAST_NAME, C.CUST_FIRST_NAME, C.CUST_CODE, C.CUST_AGE, C.CUST_CITY, C.CUST_PROV_STATE, CON.ISO_THREE_LETTER_CODE, CON.COUNTRY_EN
,COH.CUST_ORDER_DATE
CUST_LAST_NAME CUST_FIRST_NAME CUST_CODE CUST_AGE CUST_CITY CUST_PROV_STATE ISO_THREE_LETTER_CODE COUNTRY_EN CUST_ORDER_DATE CUST_ORDER_DATE2 DATE MONTH DAY WEEK YEAR HOUR QUARTER
Araújo Juliana Sofia 100025 23 Osasco São Paulo BRA Brazil 1/25/2004 8:15 1/25/2004 1/25/2004 1 25 7 2004 8 1
TaveresIfran Ranulfo 100050 43 Rio de Janeiro Rio de Janeiro BRA Brazil 1/8/2004 16:31 1/8/2004 1/8/2004 1 8 4 2004 16 1
CrépisTelles Bruno Miló 100082 30 Paranaguá Paraná BRA Brazil 1/10/2004 10:10 1/10/2004 1/10/2004 1 10 6 2004 10 1
Sávia Edu 100097 28 Porto Alegre Rio Grande do Sul BRA Brazil 1/17/2004 18:08 1/17/2004 1/17/2004 1 17 6 2004 18 1
Fontes Filipo 100113 44 Navegantes Santa Catarina BRA Brazil 1/21/2004 9:08 1/21/2004 1/21/2004 1 21 3 2004 9 1
Vila Rangel Zizi 100117 42 Salvador Bahia BRA Brazil 1/30/2004 22:52 1/30/2004 1/30/2004 1 30 5 2004 22 1
Cabuçu Stefania 100120 29 Timóteo Minas Gerais BRA Brazil 1/3/2004 8:33 1/3/2004 1/3/2004 1 3 6 2004 8 1
da Gamboa SandroReinaldo 100141 26 Navegantes Santa Catarina BRA Brazil 1/1/2004 16:59 1/1/2004 1/1/2004 1 1 4 2004 16 1
Moreira da Estrela Fernanda 100169 24 Porto Alegre Rio Grande do Sul BRA Brazil 1/1/2004 20:15 1/1/2004 1/1/2004 1 1 4 2004 20 1
Arapuã Ricardo 100232 34 Rio de Janeiro Rio de Janeiro BRA Brazil 1/10/2004 18:02 1/10/2004 1/10/2004 1 10 6 2004 18 1
Result Abridged
SELECT
UPPER (C.CUST_LAST_NAME)AS CUST_LAST_NAME , LOWER (C.CUST_FIRST_NAME) AS CUST_FIRST_NAME,
C.CUST_CODE, C.CUST_AGE,
C.CUST_CITY CONCAT','CONCATC.CUST_PROV_STATE CONCAT','CONCAT CON.COUNTRY_EN AS CUST_LOCATION,
12
COH.CUST_ORDER_DATE,
VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'YYYY-MM-DD')AS CUST_ORDER_DATE2,
date (COH.CUST_ORDER_DATE) asDATE,
month (COH.CUST_ORDER_DATE) asMONTH,
day (COH.CUST_ORDER_DATE) asDAY,
DAYOFWEEK_ISO (COH.CUST_ORDER_DATE) asWEEK,
year (COH.CUST_ORDER_DATE) asYEAR,
time(COH.CUST_ORDER_DATE)asTIME,
hour(COH.CUST_ORDER_DATE) asHOUR,
quarter(COH.CUST_ORDER_DATE) asQUARTER,
VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')AS CUST_ORDER_DATE3
FROM
GOSALESCT.CUST_ORDER_HEADER COH
INNERJOIN
GOSALESCT.CUST_CUSTOMER C
ON
COH.CUST_CODE =C.CUST_CODE
INNERJOIN
GOSALESCT.CUST_COUNTRY CON
ON
CON.COUNTRY_CODE = C.CUST_COUNTRY_CODE
WHEREC.CUST_CITY CONCAT','CONCATC.CUST_PROV_STATE CONCAT','CONCAT CON.COUNTRY_EN ISNOTNULL
GROUPBYC.CUST_LAST_NAME, C.CUST_FIRST_NAME, C.CUST_CODE, C.CUST_AGE, C.CUST_CITY, C.CUST_PROV_STATE, CON.ISO_THREE_LETTER_CODE, CON.COUNTRY_EN
,COH.CUST_ORDER_DATE
Result Abridged
CUST_LAST_NAME CUST_FIRST_NAME CUST_CODE CUST_AGE CUST_LOCATION CUST_ORDER_DATE CUST_ORDER_DATE2 DATE MONTH DAY WEEK YEAR HOUR QUARTER CUST_ORDER_DATE3
RYAN mat 118394 17 Anchorage,Alaska,United States 3/2/2006 16:12 3/2/2006 3/2/2006 3 2 4 2006 16 1 Thursday-02-March-2006
EISEN ernst 106515 17 Apeldoorn,Gelderland,Netherlands 11/15/2007 15:04 11/15/2007 11/15/2007 11 15 4 2007 15 4 Thursday-15-November-2007
EISEN ernst 106515 17 Apeldoorn,Gelderland,Netherlands 11/24/2004 4:23 11/24/2004 11/24/2004 11 24 3 2004 4 4 Wednesday-24-November-2004
MIKHAILOV georgiy 130664 17 Astrakhan,AstrakhanOblast,Russia 4/30/2007 16:25 4/30/2007 4/30/2007 4 30 1 2007 16 2 Monday-30-April-2007
KRIEGER holger 126830 17 Augsburg,Bavaria,Germany 11/26/2006 6:18 11/26/2006 11/26/2006 11 26 7 2006 6 4 Sunday-26-November-2006
GONA kelmojabuti 125044 17 BalneárioCamboriú,SantaCatarina,Brazil 9/1/2006 18:28 9/1/2006 9/1/2006 9 1 5 2006 18 3 Friday-01-September-2006
BÄCKER karsten 127161 17 Bern,Bern,Switzerland 12/13/2006 0:05 12/13/2006 12/13/2006 12 13 3 2006 0 4 Wednesday-13-December-2006
13
User Defined Function
create function GOSALESCT.CUST_AGE
(CUSTCODE INTEGER)
RETURNS INTEGER
NOT DETERMINISTIC
LANGUAGE SQL
CALLED ON NULL INPUT
RETURN SELECT CUST_AGE FROM GOSALESCT.CUST_CUSTOMER WHERE CUST_CODE = CUSTCODE
SELECT CUST_CODE, CUST_FIRST_NAME, CUST_LAST_NAME,
CUST_AGE(CUST_CODE) AS CUST_AGE
FROM GOSALESCT.CUST_CUSTOMER
WHERE CUST_CODE = CUST_CODE
CUST_CODE CUST_FIRST_NAME CUST_LAST_NAME CUST_AGE
--------- ---------------- -------------------- --------
126887 Victor Hernández 31
119428 Cuilan Dong 60
119433 TaisiaLadislavova 22
119434 Jianhua Pang 42
119469 Edward Afinogenov 52
Result Abridged
create function GOSALESCT.CUST_NAME
(CUSTCODE INTEGER)
RETURNS VARCHAR(200)
NOT DETERMINISTIC
LANGUAGE SQL
CALLED ON NULL INPUT
RETURN SELECT CUST_FIRST_NAME CONCAT ',' CONCAT CUST_LAST_NAME FROM GOSALESCT.CUST_CUSTOMER WHERE CUST_CODE = CUSTCODE
SELECT
COH.CUST_CODE , CUST_NAME(CUST_CODE)AS CUST_NAME,
VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')AS CUST_ORDER_DATE,
COH.CUST_ORDER_NUMBER, COH.CUST_TOTAL, COH.CUST_SALES_TAX,
COH.CUST_TOTAL_QUANTITY,
PNL.PRODUCT_NAME
FROM
GOSALESCT.CUST_ORDER_HEADER COH
INNERJOIN
GOSALESCT.CUST_ORDER_DETAIL COD
ON
COH.CUST_ORDER_NUMBER = COD.CUST_ORDER_NUMBER
INNERJOIN
GOSALES.PRODUCT_NAME_LOOKUP PNL
ON
PNL.PRODUCT_NUMBER = COD.PRODUCT_NUMBER
WHERE CUST_CODE = CUST_CODE
AND PNL.PRODUCT_LANGUAGE ='EN'
CUST_CODE CUST_NAME CUST_ORDER_DATE CUST_ORDER_NUMBER CUST_TOTAL CUST_SALES_TAX CUST_TOTAL_QUANTITY PRODUCT_NAME
--------- -------------------------------------- --------------------------- ----------------- ---------- -------------- ------------------- ---------------------------------
118250 Gil,Conselheiro Friday-31-March-2006 147965 881.74 166.33 2 Hibernator Lite
118862 Annett,Jaeger Saturday-29-April-2006 149549 165.44 22.82 1 Venue
120229 Gang,Dong Thursday-20-April-2006 153087 934.44 44.50 4 Canyon Mule Carryall
120229 Gang,Dong Thursday-20-April-2006 153087 934.44 44.50 4 Hibernator
120690 James,Morton Sunday-28-May-2006 154275 163.37 21.31 2 TrailChef Single Flame
120690 James,Morton Sunday-28-May-2006 154275 163.37 21.31 2 TrailChef Kitchen Kit
123917 Elena,Bolton Saturday-22-July-2006 162633 300.24 41.41 1 Opera Vision
126480 Charles,Lanford Thursday-23-November-2006 169300 25.53 2.32 1 Single Edge
Result Abridged
14
SELECT
COH.CUST_CODE , CUST_NAME(CUST_CODE)AS CUST_NAME,CUST_AGE(CUST_CODE)AS CUST_AGE,
VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')AS CUST_ORDER_DATE,
COH.CUST_ORDER_NUMBER, COH.CUST_TOTAL, COH.CUST_SALES_TAX,
COH.CUST_TOTAL_QUANTITY,
PNL.PRODUCT_NAME
FROM
GOSALESCT.CUST_ORDER_HEADER COH
INNERJOIN
GOSALESCT.CUST_ORDER_DETAIL COD
ON
COH.CUST_ORDER_NUMBER = COD.CUST_ORDER_NUMBER
INNERJOIN
GOSALES.PRODUCT_NAME_LOOKUP PNL
ON
PNL.PRODUCT_NUMBER = COD.PRODUCT_NUMBER
WHERE CUST_CODE = CUST_CODE
AND PNL.PRODUCT_LANGUAGE ='EN'
CUST_CODE CUST_NAME CUST_AGE CUST_ORDER_DATE CUST_ORDER_NUMBER CUST_TOTAL CUST_SALES_TAX CUST_TOTAL_QUANTITY PRODUCT_NAME
--------- ------------------------------------ -------- --------------------------- ----------------- ---------- -------------- ------------------- ---------------------------------
102919 Bob,Bass 29 Sunday-10-June-2007 189092 648.24 27.91 2 Star Lite
102919 Bob,Bass 29 Sunday-10-June-2007 189092 648.24 27.91 2 Hibernator Lite
107086 Linus,Hedberg 47 Wednesday-01-December-2004 118797 1069.61 41.14 3 TrailChef Kitchen Kit
107086 Linus,Hedberg 47 Wednesday-01-December-2004 118797 1069.61 41.14 3 Canyon Mule Extreme Backpack
107086 Linus,Hedberg 47 Wednesday-01-December-2004 118797 1069.61 41.14 3 Hawk Eye
123731 Jenny,Andersson 34 Monday-10-July-2006 162173 2603.30 520.66 1 Hailstorm Titanium Irons
118873 Mary,Honeycutt 56 Tuesday-25-April-2006 149579 189.90 14.47 1 Seeker 50
125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Husky Harness Extreme
125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Hibernator Pillow
125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Husky Rope 100
125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Hibernator Lite
125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Hibernator
125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Hibernator Extreme
111197 Ralph,Hunter 43 Tuesday-24-May-2005 129627 171.52 0.00 2 Canyon Mule Carryall
Result Abridged
CREATEFUNCTION
ORDER_REC()
RETURNS
TABLE(CUST_CODE INTEGER,
CUST_FIRST_NAME VARCHAR(90),
CUST_LAST_NAME VARCHAR(90),
CUST_ORDER_DATE VARCHAR(55),
CUST_ORDER_NUMBER INTEGER,
CUST_SALES_TAX DECIMAL,
CUST_SHIP_COST DECIMAL,
CUST_SUB_TOTAL DECIMAL,
TOTAL_QUANTITY BIGINT
)
NOTDETERMINISTIC
LANGUAGESQL
CALLEDONNULLINPUT
RETURN
SELECTC.CUST_CODE, C.CUST_FIRST_NAME, C.CUST_LAST_NAME,
VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')AS CUST_ORDER_DATE,
COH.CUST_ORDER_NUMBER, COH.CUST_SALES_TAX,
COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL, COH.CUST_TOTAL_QUANTITY
FROM GOSALESCT.CUST_CUSTOMER C
INNERJOIN
GOSALESCT.CUST_ORDER_HEADER COH
ON
COH.CUST_CODE =C.CUST_CODE;
SELECT * FROM TABLE(ORDER_REC())AS CUST_REC;
CUST_CODE CUST_FIRST_NAME CUST_LAST_NAME CUST_ORDER_DATE CUST_ORDER_NUMBER CUST_SALES_TAX CUST_SHIP_COST CUST_SUB_TOTAL TOTAL_QUANTITY
--------- ----------------- -------------------- --------------------------- ----------------- -------------- -------------- -------------- --------------
126909 AyakaMiyamura Tuesday-21-November-2006 170389 11 8 68 1
126920 VikentiyProkofiyov Friday-01-December-2006 170420 222 12 1223 5
126941 Edith Lapointe Sunday-19-November-2006 170478 76 5 504 1
126986 Jeffrey Hall Wednesday-22-November-2006 170599 21 8 173 2
127080 Enrico Vanni Wednesday-06-December-2006 170842 25 8 123 1
127206 Massimo Ripetto Thursday-14-December-2006 171177 516 19 2564 3
127288 Meghan Clay Thursday-21-December-2006 171381 4 5 34 1
Result Abridged
CREATEFUNCTION ORDER_REC2(@CUSTID INTEGER)
RETURNS
TABLE(CUST_CODE INTEGER,
CUST_FIRST_NAME VARCHAR(90),
CUST_LAST_NAME VARCHAR(90),
CUST_ORDER_DATE VARCHAR(55),
CUST_ORDER_NUMBER INTEGER,
CUST_SALES_TAX DECIMAL,
CUST_SHIP_COST DECIMAL,
CUST_SUB_TOTAL DECIMAL,
TOTAL_QUANTITY BIGINT
)
NOTDETERMINISTIC
LANGUAGESQL
RETURN
SELECTC.CUST_CODE, C.CUST_FIRST_NAME, C.CUST_LAST_NAME,
VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')AS CUST_ORDER_DATE,
COH.CUST_ORDER_NUMBER, COH.CUST_SALES_TAX,
COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL, COH.CUST_TOTAL_QUANTITY
FROM GOSALESCT.CUST_CUSTOMER C
INNERJOIN
GOSALESCT.CUST_ORDER_HEADER COH
ON
15
COH.CUST_CODE =C.CUST_CODE
WHEREC.CUST_CODE = @CUSTID;
SELECT * FROM TABLE(ORDER_REC2(126906))AS CUST_REC;
CUST_CODE CUST_FIRST_NAME CUST_LAST_NAME CUST_ORDER_DATE CUST_ORDER_NUMBER CUST_SALES_TAX CUST_SHIP_COST CUST_SUB_TOTAL TOTAL_QUANTITY
--------- --------------- -------------- ------------------------- ----------------- -------------- -------------- -------------- --------------
126906 Nick Dunphy Thursday-09-November-2006 170381 10 8 179 1
Lists of functions created as viewed in Microsoft Visual Studio 2010
16
Data Definition
CREATETABLE GOSALESCT.CUST_ORDER_REC
( REC_ID INTEGERNOTNULLPRIMARYKEYGENERATEDALWAYSASIDENTITY
(STARTWITH 0903 INCREMENTBY 20),
cust_codeINTEGERNOTNULL,
cust_nameVARCHAR(220),
cust_order_numberINTEGERNOTNULL,
order_dateVARCHAR(80),
cust_sales_taxDECIMAL(19,2),
cust_ship_costDECIMAL(19,2),
cust_subtotalDECIMAL(19,2),
cust_totalDECIMAL(19,2),
cust_total_quantityINTEGER,
crdt_method_codeINTEGER,
card_expdateVARCHAR(50),
cust_cc_idINTEGER,
product_numberINTEGER,
product_namevarchar(240)
);
CREATETABLE GOSALESCT.CUST_ORDER_ADUIT
( REC_ID INTEGER,
cust_codeINTEGER ,
cust_nameVARCHAR(220),
cust_order_numberINTEGER ,
order_dateVARCHAR(80),
cust_sales_taxDECIMAL(19,2),
cust_ship_costDECIMAL(19,2),
cust_subtotalDECIMAL(19,2),
cust_totalDECIMAL(19,2),
cust_total_quantityINTEGER,
crdt_method_codeINTEGER,
card_expdateVARCHAR(50),
cust_cc_idINTEGER,
product_numberINTEGER,
product_namevarchar(240),
AUDIT_ID INTEGERNOTNULLPRIMARYKEYGENERATEDALWAYSASIDENTITY
(STARTWITH 0903 INCREMENTBY 20),
ACTION_TYPE CHAR(40),
ACTION_DATE TIMESTAMPDEFAULTCURRENTTIMESTAMP
);
CREATEVIEW GOSALESCT.SALES_VW
AS
SELECT COH.CUST_CODE, CUST.CUST_FIRST_NAME CONCAT','CONCAT CUST.CUST_LAST_NAME ASCust_Name,
COH.CUST_ORDER_NUMBER ,VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')ASOrder_Date,
COH.CUST_SALES_TAX asSales_Tax, COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL,
COH.CUST_TOTAL, COH.CUST_TOTAL_QUANTITY,CRTCD.CRDT_METHOD_CODE ,
VARCHAR_FORMAT(CRTCD.CUST_CC_EXP_DATE, 'Day-dd-Month-YYYY')ASCard_ExpDate,
CRTCD.cust_cc_id,PRD.PRODUCT_NUMBER,PRD.product_NAME
FROM GOSALESCT.CUST_CUSTOMER CUST
INNERJOIN GOSALESCT.CUST_ORDER_HEADER COH
ON
CUST.CUST_CODE = COH.CUST_CODE
INNERJOIN GOSALESCT.CUST_CRDT_CARD CRTCD
ON
CUST.CUST_CODE = CRTCD.CUST_CODE
INNERJOIN GOSALESCT.CUST_ORDER_DETAIL COD
ON
COD.CUST_ORDER_NUMBER = COH.CUST_ORDER_NUMBER
INNERJOIN
GOSALES.PRODUCT_NAME_LOOKUP PRD
ON COD.PRODUCT_NUMBER = PRD.PRODUCT_NUMBER
WHERE PRD.PRODUCT_LANGUAGE ='EN'
17
SELECT * FROM GOSALESCT.SALES_VW FETCH FIRST 15 ROWS ONLY;
CUST_COD
E
CUST_NAME CUST_ORDER_NUMBER ORDER_DATE SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME
131090 Sonya,Widerberg 100039 Wednesday-14-January-
2004
43.03 6.92 165.18 215.12 2 28 Wednesday-01-December-
2010
10017 87110 BugShield Spray
131090 Sonya,Widerberg 100039 Wednesday-14-January-
2004
43.03 6.92 165.18 215.12 2 28 Wednesday-01-December-
2010
10017 78110 Seeker 35
131156 Wei,Xi 100201 Thursday-29-January-2004 14.24 5.87 77.89 98 1 29 Sunday-01-May-2011 10081 143150 Trendi
131168 Elena,Nilina 100227 Saturday-24-January-2004 15.8 5.87 81.9 103.57 1 29 Friday-01-January-2010 10092 136150 Sam
131210 Achim,Bergmann 100329 Friday-02-January-2004 503.9 9.84 2509.66 3023.4 2 29 Monday-01-July-2013 10134 110110 Blue Steel Putter
131210 Achim,Bergmann 100329 Friday-02-January-2004 503.9 9.84 2509.66 3023.4 2 29 Monday-01-July-2013 10134 106110 Hailstorm Steel Woods Set
100008 Alphonse,Bobert 100463 Thursday-22-January-2004 1.76 7.94 27.17 36.87 1 28 Tuesday-01-May-2012 10187 9110 TrailChef Kettle
100026 Bryce,Denver 100507 Thursday-01-January-2004 56.51 13.97 551.13 621.61 1 25 Saturday-01-December-2012 10205 44110 Husky Rope 100
100062 Yi,Dong 100602 Sunday-18-January-2004 8.06 5.87 155.38 169.31 1 28 Thursday-01-July-2010 10240 68120 Polar Sun
100142 Ruben,Raisaov 100801 Thursday-01-January-2004 434.73 9.84 2405.34 2849.91 2 25 Tuesday-01-December-2009 10317 106110 Hailstorm Steel Woods Set
100142 Ruben,Raisaov 100801 Thursday-01-January-2004 434.73 9.84 2405.34 2849.91 2 25 Tuesday-01-December-2009 10317 109110 Course Pro Putter
100160 Kan,Shang 100846 Friday-30-January-2004 675.42 13.29 3959.76 4648.47 4 29 Friday-01-March-2013 10335 101110 Hailstorm Steel Irons
100160 Kan,Shang 100846 Friday-30-January-2004 675.42 13.29 3959.76 4648.47 4 29 Friday-01-March-2013 10335 106110 Hailstorm Steel Woods Set
100160 Kan,Shang 100846 Friday-30-January-2004 675.42 13.29 3959.76 4648.47 4 29 Friday-01-March-2013 10335 109110 Course Pro Putter
100160 Kan,Shang 100846 Friday-30-January-2004 675.42 13.29 3959.76 4648.47 4 29 Friday-01-March-2013 10335 111110 Blue Steel Max Putter
18
Stored Procedures
CREATEPROCEDUREGOSALESCT.Order_Rec()
LANGUAGESQL
DYNAMICRESULTSETS 1
READSSQLDATA
NOTDETERMINISTIC
CALLEDONNULLINPUT
BEGIN
DECLARE CUSTORDER CURSORWITHRETURNFOR
SELECT COH.CUST_CODE, CUST.CUST_FIRST_NAME CONCAT','CONCAT CUST.CUST_LAST_NAME ASCust_Name,
COH.CUST_ORDER_NUMBER ,VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')ASOrder_Date,
COH.CUST_SALES_TAX asSales_Tax, COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL,
COH.CUST_TOTAL, COH.CUST_TOTAL_QUANTITY,CRTCD.CRDT_METHOD_CODE ,
VARCHAR_FORMAT(CRTCD.CUST_CC_EXP_DATE, 'Day-dd-Month-YYYY')ASCard_ExpDate,
CRTCD.cust_cc_id,PRD.PRODUCT_NUMBER,PRD.product_NAME
FROM GOSALESCT.CUST_CUSTOMER CUST
INNERJOIN GOSALESCT.CUST_ORDER_HEADER COH
ON
CUST.CUST_CODE = COH.CUST_CODE
INNERJOIN GOSALESCT.CUST_CRDT_CARD CRTCD
ON
CUST.CUST_CODE = CRTCD.CUST_CODE
INNERJOIN GOSALESCT.CUST_ORDER_DETAIL COD
ON
COD.CUST_ORDER_NUMBER = COH.CUST_ORDER_NUMBER
INNERJOIN
GOSALES.PRODUCT_NAME_LOOKUP PRD
ON COD.PRODUCT_NUMBER = PRD.PRODUCT_NUMBER
WHERE PRD.PRODUCT_LANGUAGE ='EN';
OPEN CUSTORDER;
END
CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER
PRODUCT_NAME
--------- ------------------------------------ ----------------- -------------------------- --------- -------------- ------------- ---------- ------------------- ---------------- --------------------------- ---------- -------------- -----
----------------------------
131090 Sonya,Widerberg 100039 Wednesday-14-January-2004 43.03 6.92 165.18 215.12 2 28 Wednesday-01-December-2010 10017 87110
BugShield Spray
131090 Sonya,Widerberg 100039 Wednesday-14-January-2004 43.03 6.92 165.18 215.12 2 28 Wednesday-01-December-2010 10017 78110
Seeker 35
131156 Wei,Xi 100201 Thursday-29-January-2004 14.24 5.87 77.89 98.00 1 29 Sunday-01-May-2011 10081 143150
Trendi
131168 Elena,Nilina 100227 Saturday-24-January-2004 15.80 5.87 81.90 103.57 1 29 Friday-01-January-2010 10092 136150 Sam
131210 Achim,Bergmann 100329 Friday-02-January-2004 503.90 9.84 2509.66 3023.40 2 29 Monday-01-July-2013 10134 110110 Blue
Steel Putter
Result Abridged
CREATEPROCEDURE GOSALESCT.Order_Rec3(IN @CUSTID INTEGER)
LANGUAGESQL
DYNAMICRESULTSETS 1
READSSQLDATA
NOTDETERMINISTIC
BEGIN
DECLARE CUSTORDER CURSORWITHRETURNFOR
SELECT COH.CUST_CODE, CUST.CUST_FIRST_NAME CONCAT','CONCAT CUST.CUST_LAST_NAME ASCust_Name,
COH.CUST_ORDER_NUMBER ,VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')ASOrder_Date,
COH.CUST_SALES_TAX asSales_Tax, COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL,
COH.CUST_TOTAL, COH.CUST_TOTAL_QUANTITY,CRTCD.CRDT_METHOD_CODE ,
VARCHAR_FORMAT(CRTCD.CUST_CC_EXP_DATE, 'Day-dd-Month-YYYY')ASCard_ExpDate,
CRTCD.cust_cc_id,PRD.PRODUCT_NUMBER,PRD.product_NAME
FROM GOSALESCT.CUST_CUSTOMER CUST
INNERJOIN GOSALESCT.CUST_ORDER_HEADER COH
ON
CUST.CUST_CODE = COH.CUST_CODE
INNERJOIN GOSALESCT.CUST_CRDT_CARD CRTCD
ON
CUST.CUST_CODE = CRTCD.CUST_CODE
INNERJOIN GOSALESCT.CUST_ORDER_DETAIL COD
ON
COD.CUST_ORDER_NUMBER = COH.CUST_ORDER_NUMBER
INNERJOIN
GOSALES.PRODUCT_NAME_LOOKUP PRD
ON COD.PRODUCT_NUMBER = PRD.PRODUCT_NUMBER
WHERE PRD.PRODUCT_LANGUAGE ='EN'
AND CUST.CUST_CODE = @CUSTID;
OPEN CUSTORDER;
END
CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME
--------- ------------ ----------------- ------------------------- --------- -------------- ------------- ---------- ------------------- ---------------- ------------------------- ---------- -------------- ----------------------
131100 Zinia,Jarvis 100063 Wednesday-07-January-2004 2.68 5.57 35.70 43.95 1 28 Tuesday-01-September-2009 10026 124130 Cat Eye
131100 Zinia,Jarvis 181181 Tuesday-24-April-2007 21.09 9.53 314.93 345.55 2 28 Tuesday-01-September-2009 10026 8110 TrailChef Double Flame
131100 Zinia,Jarvis 181181 Tuesday-24-April-2007 21.09 9.53 314.93 345.55 2 28 Tuesday-01-September-2009 10026 9110 TrailChef Kettle
Table Population
CREATEPROCEDURE GOSALESCT.Order_Rec4(IN @CUSTID INTEGER)
LANGUAGESQL
DYNAMICRESULTSETS 1
MODIFIESSQLDATA
NOTDETERMINISTIC
BEGINATOMIC
19
INSERTINTO GOSALESCT.CUST_ORDER_REC(cust_code,cust_name,cust_order_number,order_date,cust_sales_tax,
cust_ship_cost,cust_subtotal,cust_total,cust_total_quantity,crdt_method_code,card_expdate,cust_cc_id,
product_number,product_name)
SELECT COH.CUST_CODE, CUST.CUST_FIRST_NAME CONCAT','CONCAT CUST.CUST_LAST_NAME ASCust_Name,
COH.CUST_ORDER_NUMBER ,VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')ASOrder_Date,
COH.CUST_SALES_TAX asSales_Tax, COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL,
COH.CUST_TOTAL, COH.CUST_TOTAL_QUANTITY,CRTCD.CRDT_METHOD_CODE ,
VARCHAR_FORMAT(CRTCD.CUST_CC_EXP_DATE, 'Day-dd-Month-YYYY')ASCard_ExpDate,
CRTCD.cust_cc_id,PRD.PRODUCT_NUMBER,PRD.product_NAME
FROM GOSALESCT.CUST_CUSTOMER CUST
INNERJOIN GOSALESCT.CUST_ORDER_HEADER COH
ON
CUST.CUST_CODE = COH.CUST_CODE
INNERJOIN GOSALESCT.CUST_CRDT_CARD CRTCD
ON
CUST.CUST_CODE = CRTCD.CUST_CODE
INNERJOIN GOSALESCT.CUST_ORDER_DETAIL COD
ON
COD.CUST_ORDER_NUMBER = COH.CUST_ORDER_NUMBER
INNERJOIN
GOSALES.PRODUCT_NAME_LOOKUP PRD
ON COD.PRODUCT_NUMBER = PRD.PRODUCT_NUMBER
WHERE PRD.PRODUCT_LANGUAGE ='EN'
AND CUST.CUST_CODE = @CUSTID;
END
CALL Order_Rec4(100117);
SELECT * FROM GOSALESCT.CUST_ORDER_REC;
REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUM
BER
ORDER_DATE CUST_SALES_TA
X
CUST_SHIP_C
OST
CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME
903 100117 Zizi,Vila Rangel 100738 Friday-30-January-2004 23.36 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 28110 Canyon Mule
Cooler
923 100117 Zizi,Vila Rangel 100738 Friday-30-January-2004 23.36 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 3110 TrailChef Kitchen
Kit
943 100117 Zizi,Vila Rangel 181893 Sunday-01-April-2007 4.61 7.33 14.61 26.55 1 25 Thursday-01-March-2012 10292 1110 TrailChef Water
Bag
CREATEPROCEDUREGOSALESCT.Order_Rec_update
( IN @CUSTID INTEGER,
IN @PRODID INTEGER,
IN @SALTX DECIMAL(19,2) )
LANGUAGESQL
DYNAMICRESULTSETS 1
MODIFIESSQLDATA
NOTDETERMINISTIC
BEGINATOMIC
UPDATE GOSALESCT.CUST_ORDER_REC
SETcust_sales_tax = @SALTX
WHEREcust_code= @CUSTID ANDproduct_number = @PRODID;
END
CALL GOSALESCT.Order_Rec_update(100117,28110,25);
REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE CUST_SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME
903 100117 Zizi,Vila
Rangel
100738 Friday-30-
January-2004
25 9.16 102.09 134.61 2 25 Thursday-01-
March-2012
10292 28110 Canyon Mule
Cooler
923 100117 Zizi,Vila
Rangel
100738 Friday-30-
January-2004
23.36 9.16 102.09 134.61 2 25 Thursday-01-
March-2012
10292 3110 TrailChef Kitchen
Kit
943 100117 Zizi,Vila
Rangel
181893 Sunday-01-
April-2007
4.61 7.33 14.61 26.55 1 25 Thursday-01-
March-2012
10292 1110 TrailChef Water
Bag
Since the Rec_ID was not used in the procedure. The stored procedure could update multiple rows since a customer may purchase a product multiple times. To avoid this problem, the following delete procedure and update procedure 2 has to include the
Rec_ID
createPROCEDUREGOSALESCT.Order_Rec_delete
( IN @CUSTID INTEGER,
IN @PRODID INTEGER,
IN @RECID INTEGER
)
LANGUAGESQL
DYNAMICRESULTSETS 1
MODIFIESSQLDATA
NOTDETERMINISTIC
CALLEDONNULLINPUT
BEGINATOMIC
delete GOSALESCT.CUST_ORDER_REC
WHEREcust_code= @CUSTID
ANDproduct_number = @PRODID
AND REC_ID = @RECID;
END
20
createPROCEDURE GOSALESCT.Order_Rec_update2
( IN @CUSTID INTEGER,
IN @PRODID INTEGER,
IN @RECID INTEGER,
IN @TX DECIMAL(19,2)
)
LANGUAGESQL
DYNAMICRESULTSETS 1
MODIFIESSQLDATA
NOTDETERMINISTIC
CALLEDONNULLINPUT
BEGINATOMIC
update GOSALESCT.CUST_ORDER_REC
setcust_sales_tax =@TX
WHEREcust_code= @CUSTID
ANDproduct_number = @PRODID
AND REC_ID = @RECID;
END
CALL GOSALESCT.Order_Rec_delete(100117, 1110,943);
CALL GOSALESCT.Order_Rec_update2(100117,3110, 923,45);
SELECT * FROM GOSALESCT.CUST_ORDER_REC;
REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUM
BER
ORDER_DATE CUST_SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME
903 100117 Zizi,Vila Rangel 100738 Friday-30-
January-2004
25 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 28110 Canyon Mule Cooler
923 100117 Zizi,Vila Rangel 100738 Friday-30-
January-2004
45 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 3110 TrailChef Kitchen Kit
List of Storedprocedures from Microsoft Visual Studios 2010.
IBM Data Studio Workspace
21
Triggers
CREATETRIGGER GOSALESCT.RECORD_INSERT
AFTERINSERT
ON GOSALESCT.CUST_ORDER_REC
REFERENCINGNEWAS INSERTED
FOREACHROWMODEDB2SQL
INSERTINTO GOSALESCT.CUST_ORDER_ADUIT (REC_ID,cust_code,cust_name,cust_order_number,order_date,
cust_sales_tax,cust_ship_cost,cust_subtotal,cust_total,cust_total_quantity,
crdt_method_code,card_expdate,cust_cc_id,
product_number,product_name, ACTION_TYPE)
VALUES(INSERTED.REC_ID,INSERTED.cust_code,INSERTED.cust_name,INSERTED.cust_order_number,INSERTED.order_date,
INSERTED.cust_sales_tax,INSERTED.cust_ship_cost,INSERTED.cust_subtotal,INSERTED.cust_total,INSERTED.cust_total_quantity,
INSERTED.crdt_method_code,INSERTED.card_expdate,INSERTED.cust_cc_id,
INSERTED.product_number,INSERTED.product_name, 'INSERT');
Execute the previous stored procedure used to populate cust_order_rec table.
CALL Order_Rec4(100185);
Select * from cust_order_rec table;
REC_ID CUST_C
ODE
CUST_NAME CUST_ORDER_NU
MBER
ORDER_DA
TE
CUST_SALES_T
AX
CUST_SHIP_CO
ST
CUST_SUBTOT
AL
CUST_TOT
AL
CUST_TOTAL_QUANT
ITY
CRDT_METHOD_CO
DE
CARD_EXPDA
TE
CUST_CC_I
D
PRODUCT_NUMB
ER
PRODUCT_NA
ME
903 100117 Zizi,Vila
Rangel
100738 Friday-30-
January-2004
25 9.16 102.09 134.61 2 25 Thursday-01-
March-2012
10292 28110 Canyon Mule
Cooler
923 100117 Zizi,Vila
Rangel
100738 Friday-30-
January-2004
45 9.16 102.09 134.61 2 25 Thursday-01-
March-2012
10292 3110 TrailChef Kitchen
Kit
963 100185 Jeff,Canon 100910 Thursday-29-
January-2004
1.53 5.57 16.33 23.43 1 28 Sunday-01-
September-2013
10359 73110 Single Edge
983 100185 Jeff,Canon 182071 Wednesday-
18-April-2007
1.82 5.87 20.08 27.77 1 28 Sunday-01-
September-2013
10359 73110 Single Edge
SELECT * FROM GOSALESCT.CUST_ORDER_ADUIT;
REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE CUST_SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME AUDIT_ID
ACTION_TYPE ACTION_DATE
------ --------- ---------- ----------------- ------------------------ -------------- -------------- ------------- ---------- ------------------- ---------------- ------------------------ ---------- -------------- ------------ -------- --
-------------------------------------- -----------------------
963 100185 Jeff,Canon 100910 Thursday-29-January-2004 1.53 5.57 16.33 23.43 1 28 Sunday-01-September-2013 10359 73110 Single Edge 903
INSERT 2013-04-22 06:52:09.123
983 100185 Jeff,Canon 182071 Wednesday-18-April-2007 1.82 5.87 20.08 27.77 1 28 Sunday-01-September-2013 10359 73110 Single Edge 923
INSERT 2013-04-22 06:52:09.123
CREATETRIGGER GOSALESCT.RECORD_DELETE
AFTERDELETE
ON GOSALESCT.CUST_ORDER_REC
REFERENCINGOLDAS DELETED
FOREACHROWMODEDB2SQL
INSERTINTO GOSALESCT.CUST_ORDER_ADUIT (REC_ID,cust_code,cust_name,cust_order_number,order_date,
cust_sales_tax,cust_ship_cost,cust_subtotal,cust_total,cust_total_quantity,
crdt_method_code,card_expdate,cust_cc_id,
product_number,product_name, ACTION_TYPE)
VALUES(DELETED.REC_ID,DELETED.cust_code,DELETED.cust_name,DELETED.cust_order_number,DELETED.order_date,
DELETED.cust_sales_tax,DELETED.cust_ship_cost,DELETED.cust_subtotal,DELETED.cust_total,DELETED.cust_total_quantity,
DELETED.crdt_method_code,DELETED.card_expdate,DELETED.cust_cc_id,
DELETED.product_number,DELETED.product_name, 'DELETE');
CALL GOSALESCT.Order_Rec_delete(100185, 73110, 963 );
Select * from cust_order_rec table;
REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE CUST_SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME
903 100117 Zizi,Vila Rangel 100738 Friday-30-January-2004 25 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 28110 Canyon Mule Cooler
923 100117 Zizi,Vila Rangel 100738 Friday-30-January-2004 45 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 3110 TrailChef Kitchen Kit
983 100185 Jeff,Canon 182071 Wednesday-18-April-2007 1.82 5.87 20.08 27.77 1 28 Sunday-01-September-
2013
10359 73110 Single Edge
SELECT * FROM GOSALESCT.CUST_ORDER_ADUIT;
22
REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE CUST_SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME AUDIT_ID
ACTION_TYPE ACTION_DATE
------ --------- ---------- ----------------- ------------------------ -------------- -------------- ------------- ---------- ------------------- ---------------- ------------------------ ---------- -------------- ------------ -------- --
-------------------------------------- -----------------------
963 100185 Jeff,Canon 100910 Thursday-29-January-2004 1.53 5.57 16.33 23.43 1 28 Sunday-01-September-2013 10359 73110 Single Edge 903
INSERT 2013-04-22 06:52:09.123
983 100185 Jeff,Canon 182071 Wednesday-18-April-2007 1.82 5.87 20.08 27.77 1 28 Sunday-01-September-2013 10359 73110 Single Edge 923
INSERT 2013-04-22 06:52:09.123
963 100185 Jeff,Canon 100910 Thursday-29-January-2004 1.53 5.57 16.33 23.43 1 28 Sunday-01-September-2013 10359 73110 Single Edge 943
DELETE 2013-04-22 07:15:04.816
List of triggers created as displayed in Oracle JDEVELOEPER
23
24
25

Contenu connexe

En vedette

Pengenalan Kepada Teknologi Multimedia Part 3
Pengenalan Kepada Teknologi Multimedia Part 3Pengenalan Kepada Teknologi Multimedia Part 3
Pengenalan Kepada Teknologi Multimedia Part 3Noor Hafizah Abd. Rahim
 
Mrs craig final exam 3
Mrs craig   final exam 3Mrs craig   final exam 3
Mrs craig final exam 3cmhagc
 
สอนแต่งภาพ
สอนแต่งภาพสอนแต่งภาพ
สอนแต่งภาพGufgif Sweetzii
 
Social media for investigative journalism oslo feb 3
Social media for investigative journalism oslo feb 3Social media for investigative journalism oslo feb 3
Social media for investigative journalism oslo feb 3Megan Knight
 
未來的工作在哪裡
未來的工作在哪裡未來的工作在哪裡
未來的工作在哪裡rita710
 
Възможности за финансиране по ОПК (Оперативна Програма Конкурентноспособност)...
Възможности за финансиране по ОПК (Оперативна Програма Конкурентноспособност)...Възможности за финансиране по ОПК (Оперативна Програма Конкурентноспособност)...
Възможности за финансиране по ОПК (Оперативна Програма Конкурентноспособност)...Moite Pari
 
Tokina Lens Katalog
Tokina Lens KatalogTokina Lens Katalog
Tokina Lens Katalogreproset
 
Roll out summary dealer caring project 2013
Roll out summary dealer caring project 2013Roll out summary dealer caring project 2013
Roll out summary dealer caring project 2013Jumanto Jmt
 
Pinterest
PinterestPinterest
Pinterestcmhagc
 
Uploading resources to_mbc
Uploading resources to_mbcUploading resources to_mbc
Uploading resources to_mbcMaryAnn Medved
 
‘Build First Plan Later’: The Voice of DIY Approaches in Today’s Design
‘Build First Plan Later’: The Voice of DIY Approaches in Today’s Design‘Build First Plan Later’: The Voice of DIY Approaches in Today’s Design
‘Build First Plan Later’: The Voice of DIY Approaches in Today’s DesignRavihansa Rajapakse
 
Compositional Slideshow
Compositional SlideshowCompositional Slideshow
Compositional Slideshowerika6820
 
VIRUS Y VACUNAS INFORMATICAS
VIRUS Y VACUNAS INFORMATICASVIRUS Y VACUNAS INFORMATICAS
VIRUS Y VACUNAS INFORMATICASsandyor9598
 

En vedette (20)

Knowledge-driven Finite-State Machines. Study case in monitoring industrial ...
Knowledge-driven Finite-State Machines.  Study case in monitoring industrial ...Knowledge-driven Finite-State Machines.  Study case in monitoring industrial ...
Knowledge-driven Finite-State Machines. Study case in monitoring industrial ...
 
Pengenalan Kepada Teknologi Multimedia Part 3
Pengenalan Kepada Teknologi Multimedia Part 3Pengenalan Kepada Teknologi Multimedia Part 3
Pengenalan Kepada Teknologi Multimedia Part 3
 
Mrs craig final exam 3
Mrs craig   final exam 3Mrs craig   final exam 3
Mrs craig final exam 3
 
Integrisanje metapodataka u Europeanu korišćenjem formata ESE, Nataša Dakić &...
Integrisanje metapodataka u Europeanu korišćenjem formata ESE, Nataša Dakić &...Integrisanje metapodataka u Europeanu korišćenjem formata ESE, Nataša Dakić &...
Integrisanje metapodataka u Europeanu korišćenjem formata ESE, Nataša Dakić &...
 
สอนแต่งภาพ
สอนแต่งภาพสอนแต่งภาพ
สอนแต่งภาพ
 
Potentials of web standards for automation control in manufacturing systems
Potentials of web standards for automation control in manufacturing systemsPotentials of web standards for automation control in manufacturing systems
Potentials of web standards for automation control in manufacturing systems
 
Social media for investigative journalism oslo feb 3
Social media for investigative journalism oslo feb 3Social media for investigative journalism oslo feb 3
Social media for investigative journalism oslo feb 3
 
未來的工作在哪裡
未來的工作在哪裡未來的工作在哪裡
未來的工作在哪裡
 
Възможности за финансиране по ОПК (Оперативна Програма Конкурентноспособност)...
Възможности за финансиране по ОПК (Оперативна Програма Конкурентноспособност)...Възможности за финансиране по ОПК (Оперативна Програма Конкурентноспособност)...
Възможности за финансиране по ОПК (Оперативна Програма Конкурентноспособност)...
 
Tokina Lens Katalog
Tokina Lens KatalogTokina Lens Katalog
Tokina Lens Katalog
 
Roll out summary dealer caring project 2013
Roll out summary dealer caring project 2013Roll out summary dealer caring project 2013
Roll out summary dealer caring project 2013
 
Álbumnubes
ÁlbumnubesÁlbumnubes
Álbumnubes
 
Pinterest
PinterestPinterest
Pinterest
 
Uploading resources to_mbc
Uploading resources to_mbcUploading resources to_mbc
Uploading resources to_mbc
 
Nobody compares3
Nobody compares3Nobody compares3
Nobody compares3
 
test
testtest
test
 
‘Build First Plan Later’: The Voice of DIY Approaches in Today’s Design
‘Build First Plan Later’: The Voice of DIY Approaches in Today’s Design‘Build First Plan Later’: The Voice of DIY Approaches in Today’s Design
‘Build First Plan Later’: The Voice of DIY Approaches in Today’s Design
 
Compositional Slideshow
Compositional SlideshowCompositional Slideshow
Compositional Slideshow
 
VIRUS Y VACUNAS INFORMATICAS
VIRUS Y VACUNAS INFORMATICASVIRUS Y VACUNAS INFORMATICAS
VIRUS Y VACUNAS INFORMATICAS
 
Power point comunicacion
Power point comunicacionPower point comunicacion
Power point comunicacion
 

Plus de Sunny U Okoro

SQL Server and SSAS
SQL Server and SSAS SQL Server and SSAS
SQL Server and SSAS Sunny U Okoro
 
BI Apps Reports 5 QlikSense Desktop
BI Apps Reports 5  QlikSense DesktopBI Apps Reports 5  QlikSense Desktop
BI Apps Reports 5 QlikSense DesktopSunny U Okoro
 
MS SSAS 2008 & MDX Reports
MS SSAS 2008 &  MDX Reports MS SSAS 2008 &  MDX Reports
MS SSAS 2008 & MDX Reports Sunny U Okoro
 
DBA Oracle,SQL Server, MYSQL,DB2 Express Postgres & Sybase
DBA Oracle,SQL Server, MYSQL,DB2 Express Postgres & SybaseDBA Oracle,SQL Server, MYSQL,DB2 Express Postgres & Sybase
DBA Oracle,SQL Server, MYSQL,DB2 Express Postgres & SybaseSunny U Okoro
 
BI Apps ETL 4- Informatica PowerCenter Express
BI  Apps ETL 4- Informatica PowerCenter  ExpressBI  Apps ETL 4- Informatica PowerCenter  Express
BI Apps ETL 4- Informatica PowerCenter ExpressSunny U Okoro
 
BI Apps Reports 4 Cognos BI and Crystal Reports
BI Apps Reports 4  Cognos BI and Crystal ReportsBI Apps Reports 4  Cognos BI and Crystal Reports
BI Apps Reports 4 Cognos BI and Crystal ReportsSunny U Okoro
 
Tableau Reports and Oracle OBIEE
Tableau Reports and  Oracle OBIEETableau Reports and  Oracle OBIEE
Tableau Reports and Oracle OBIEESunny U Okoro
 
DB 3 Sybase ASE 15 & MS SQL Server
DB 3 Sybase ASE 15 & MS SQL Server DB 3 Sybase ASE 15 & MS SQL Server
DB 3 Sybase ASE 15 & MS SQL Server Sunny U Okoro
 
Advanced ETL2 Pentaho
Advanced ETL2  Pentaho Advanced ETL2  Pentaho
Advanced ETL2 Pentaho Sunny U Okoro
 
BI Apps Reports2- Oracle OBIEE & SAP Business Objects
BI Apps Reports2- Oracle OBIEE & SAP Business ObjectsBI Apps Reports2- Oracle OBIEE & SAP Business Objects
BI Apps Reports2- Oracle OBIEE & SAP Business ObjectsSunny U Okoro
 
MiS SharePoint 2010-SSRS, Power View & PowerPivot 2012
MiS SharePoint 2010-SSRS, Power View & PowerPivot 2012MiS SharePoint 2010-SSRS, Power View & PowerPivot 2012
MiS SharePoint 2010-SSRS, Power View & PowerPivot 2012Sunny U Okoro
 
BI Apps OLAP & Reports- SSAS 2012 Tabular & Multidimensional
BI Apps  OLAP & Reports- SSAS 2012 Tabular & Multidimensional BI Apps  OLAP & Reports- SSAS 2012 Tabular & Multidimensional
BI Apps OLAP & Reports- SSAS 2012 Tabular & Multidimensional Sunny U Okoro
 
Advanced SSRS 2012-SSAS,SSIS, XML, ASP.NET,Forms
Advanced SSRS 2012-SSAS,SSIS, XML, ASP.NET,FormsAdvanced SSRS 2012-SSAS,SSIS, XML, ASP.NET,Forms
Advanced SSRS 2012-SSAS,SSIS, XML, ASP.NET,FormsSunny U Okoro
 
Advanced ETL MS SSIS 2012 & Talend
Advanced ETL  MS  SSIS 2012 & Talend Advanced ETL  MS  SSIS 2012 & Talend
Advanced ETL MS SSIS 2012 & Talend Sunny U Okoro
 
DB Develop 2 Oracle 12c, DB2, MYSQL, SQL Anywhere 16
 DB Develop 2 Oracle 12c, DB2, MYSQL, SQL Anywhere 16  DB Develop 2 Oracle 12c, DB2, MYSQL, SQL Anywhere 16
DB Develop 2 Oracle 12c, DB2, MYSQL, SQL Anywhere 16 Sunny U Okoro
 
DB Security Oracle 11g-Application Context, Dynamic Views & Aduits
DB Security Oracle 11g-Application Context, Dynamic Views & AduitsDB Security Oracle 11g-Application Context, Dynamic Views & Aduits
DB Security Oracle 11g-Application Context, Dynamic Views & AduitsSunny U Okoro
 

Plus de Sunny U Okoro (20)

SQL Server and SSAS
SQL Server and SSAS SQL Server and SSAS
SQL Server and SSAS
 
BI Apps Reports 5 QlikSense Desktop
BI Apps Reports 5  QlikSense DesktopBI Apps Reports 5  QlikSense Desktop
BI Apps Reports 5 QlikSense Desktop
 
MS SSAS 2008 & MDX Reports
MS SSAS 2008 &  MDX Reports MS SSAS 2008 &  MDX Reports
MS SSAS 2008 & MDX Reports
 
DBA Oracle,SQL Server, MYSQL,DB2 Express Postgres & Sybase
DBA Oracle,SQL Server, MYSQL,DB2 Express Postgres & SybaseDBA Oracle,SQL Server, MYSQL,DB2 Express Postgres & Sybase
DBA Oracle,SQL Server, MYSQL,DB2 Express Postgres & Sybase
 
Database Migration
Database MigrationDatabase Migration
Database Migration
 
Cognos Express
Cognos ExpressCognos Express
Cognos Express
 
BI Apps ETL 4- Informatica PowerCenter Express
BI  Apps ETL 4- Informatica PowerCenter  ExpressBI  Apps ETL 4- Informatica PowerCenter  Express
BI Apps ETL 4- Informatica PowerCenter Express
 
Oracle ODI
Oracle ODIOracle ODI
Oracle ODI
 
BI Apps Reports 4 Cognos BI and Crystal Reports
BI Apps Reports 4  Cognos BI and Crystal ReportsBI Apps Reports 4  Cognos BI and Crystal Reports
BI Apps Reports 4 Cognos BI and Crystal Reports
 
Tableau Reports and Oracle OBIEE
Tableau Reports and  Oracle OBIEETableau Reports and  Oracle OBIEE
Tableau Reports and Oracle OBIEE
 
DB 3 Sybase ASE 15 & MS SQL Server
DB 3 Sybase ASE 15 & MS SQL Server DB 3 Sybase ASE 15 & MS SQL Server
DB 3 Sybase ASE 15 & MS SQL Server
 
MS SSAS 2012 & MDX
MS SSAS 2012  &  MDXMS SSAS 2012  &  MDX
MS SSAS 2012 & MDX
 
Advanced ETL2 Pentaho
Advanced ETL2  Pentaho Advanced ETL2  Pentaho
Advanced ETL2 Pentaho
 
BI Apps Reports2- Oracle OBIEE & SAP Business Objects
BI Apps Reports2- Oracle OBIEE & SAP Business ObjectsBI Apps Reports2- Oracle OBIEE & SAP Business Objects
BI Apps Reports2- Oracle OBIEE & SAP Business Objects
 
MiS SharePoint 2010-SSRS, Power View & PowerPivot 2012
MiS SharePoint 2010-SSRS, Power View & PowerPivot 2012MiS SharePoint 2010-SSRS, Power View & PowerPivot 2012
MiS SharePoint 2010-SSRS, Power View & PowerPivot 2012
 
BI Apps OLAP & Reports- SSAS 2012 Tabular & Multidimensional
BI Apps  OLAP & Reports- SSAS 2012 Tabular & Multidimensional BI Apps  OLAP & Reports- SSAS 2012 Tabular & Multidimensional
BI Apps OLAP & Reports- SSAS 2012 Tabular & Multidimensional
 
Advanced SSRS 2012-SSAS,SSIS, XML, ASP.NET,Forms
Advanced SSRS 2012-SSAS,SSIS, XML, ASP.NET,FormsAdvanced SSRS 2012-SSAS,SSIS, XML, ASP.NET,Forms
Advanced SSRS 2012-SSAS,SSIS, XML, ASP.NET,Forms
 
Advanced ETL MS SSIS 2012 & Talend
Advanced ETL  MS  SSIS 2012 & Talend Advanced ETL  MS  SSIS 2012 & Talend
Advanced ETL MS SSIS 2012 & Talend
 
DB Develop 2 Oracle 12c, DB2, MYSQL, SQL Anywhere 16
 DB Develop 2 Oracle 12c, DB2, MYSQL, SQL Anywhere 16  DB Develop 2 Oracle 12c, DB2, MYSQL, SQL Anywhere 16
DB Develop 2 Oracle 12c, DB2, MYSQL, SQL Anywhere 16
 
DB Security Oracle 11g-Application Context, Dynamic Views & Aduits
DB Security Oracle 11g-Application Context, Dynamic Views & AduitsDB Security Oracle 11g-Application Context, Dynamic Views & Aduits
DB Security Oracle 11g-Application Context, Dynamic Views & Aduits
 

Dernier

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

IBM DB2 10

  • 2. 1 Contents Database Platform................................................................................................................................................................... 3 Applications............................................................................................................................................................................... 3 Sample Database Installation............................................................................................................................................. 7 Built In Function..................................................................................................................................................................11 User Defined Function.........................................................................................................................................................13 Data Definition........................................................................................................................................................................16 Stored Procedures.................................................................................................................................................................18 Triggers......................................................................................................................................................................................21
  • 3. 2
  • 4. 3 Database Platform IBM DB2EXPRESS EDITION Applications DB2 Command Line Processor
  • 5. 4 Microsoft Visual Studio 2010 and 2012 Oracle JDeveloper
  • 7. 6 Microsoft Excel and Power Pivot
  • 9. 8
  • 10. 9
  • 11. 10
  • 12. 11 Built In Function Column functions SELECT C.CUST_LAST_NAME ,C.CUST_FIRST_NAME, C.CUST_CODE, C.CUST_AGE, C.CUST_CITY, C.CUST_PROV_STATE, CON.ISO_THREE_LETTER_CODE, CON.COUNTRY_EN, SUM(COH.CUST_TOTAL)as Cust_Total, Max(COH.CUST_TOTAL)as Highest_Cust_Total, Min(COH.CUST_TOTAL)as Lowest_Cust_Total FROM GOSALESCT.CUST_ORDER_HEADER COH INNER JOIN GOSALESCT.CUST_CUSTOMER C ON COH.CUST_CODE = C.CUST_CODE INNER JOIN GOSALESCT.CUST_COUNTRY CON ON CON.COUNTRY_CODE = C.CUST_COUNTRY_CODE GROUP BY C.CUST_LAST_NAME, C.CUST_FIRST_NAME, C.CUST_CODE, C.CUST_AGE, C.CUST_CITY, C.CUST_PROV_STATE, CON.ISO_THREE_LETTER_CODE, CON.COUNTRY_EN CUST_LAST_NAME CUST_FIRST_NAME CUST_CODE CUST_AGE CUST_CITY CUST_PROV_STATE ISO_THREE_LETTER_CODE COUNTRY_EN CUST_TOTAL HIGHEST_CUST_TOTAL LOWEST_CUST_TOTAL Kennedy Debbie 100136 19 Brisbane Queensland AUS Australia 174.57 98.7 75.87 Stedman Helen 100359 25 Brisbane Queensland AUS Australia 907.34 519.73 387.61 Durán Grenadda 100656 33 Brisbane Queensland AUS Australia 1072.18 959.14 113.04 Salter Zinia 100732 45 Brisbane Queensland AUS Australia 384.75 220.52 164.23 Merriman Rodney 100844 31 Brisbane Queensland AUS Australia 869.04 621.61 247.43 Jensen Vivian 100967 29 Brisbane Queensland AUS Australia 590.54 299.93 290.61 Harriman Trent 101003 19 Brisbane Queensland AUS Australia 1390.99 1321.38 69.61 Rolson Ivan 101103 27 Brisbane Queensland AUS Australia 729.15 464.4 264.75 Results Abridged Scalar function SELECT C.CUST_LAST_NAME ,C.CUST_FIRST_NAME, C.CUST_CODE, C.CUST_AGE, C.CUST_CITY, C.CUST_PROV_STATE, CON.ISO_THREE_LETTER_CODE, CON.COUNTRY_EN, COH.CUST_ORDER_DATE, VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'YYYY-MM-DD')AS CUST_ORDER_DATE2, date (COH.CUST_ORDER_DATE) as DATE, month (COH.CUST_ORDER_DATE) as MONTH, day (COH.CUST_ORDER_DATE) as DAY, DAYOFWEEK_ISO (COH.CUST_ORDER_DATE) as WEEK, year (COH.CUST_ORDER_DATE) as YEAR, time(COH.CUST_ORDER_DATE)as TIME, hour(COH.CUST_ORDER_DATE) as HOUR, quarter(COH.CUST_ORDER_DATE) as QUARTER FROM GOSALESCT.CUST_ORDER_HEADER COH INNER JOIN GOSALESCT.CUST_CUSTOMER C ON COH.CUST_CODE = C.CUST_CODE INNER JOIN GOSALESCT.CUST_COUNTRY CON ON CON.COUNTRY_CODE = C.CUST_COUNTRY_CODE GROUP BY C.CUST_LAST_NAME, C.CUST_FIRST_NAME, C.CUST_CODE, C.CUST_AGE, C.CUST_CITY, C.CUST_PROV_STATE, CON.ISO_THREE_LETTER_CODE, CON.COUNTRY_EN ,COH.CUST_ORDER_DATE CUST_LAST_NAME CUST_FIRST_NAME CUST_CODE CUST_AGE CUST_CITY CUST_PROV_STATE ISO_THREE_LETTER_CODE COUNTRY_EN CUST_ORDER_DATE CUST_ORDER_DATE2 DATE MONTH DAY WEEK YEAR HOUR QUARTER Araújo Juliana Sofia 100025 23 Osasco São Paulo BRA Brazil 1/25/2004 8:15 1/25/2004 1/25/2004 1 25 7 2004 8 1 TaveresIfran Ranulfo 100050 43 Rio de Janeiro Rio de Janeiro BRA Brazil 1/8/2004 16:31 1/8/2004 1/8/2004 1 8 4 2004 16 1 CrépisTelles Bruno Miló 100082 30 Paranaguá Paraná BRA Brazil 1/10/2004 10:10 1/10/2004 1/10/2004 1 10 6 2004 10 1 Sávia Edu 100097 28 Porto Alegre Rio Grande do Sul BRA Brazil 1/17/2004 18:08 1/17/2004 1/17/2004 1 17 6 2004 18 1 Fontes Filipo 100113 44 Navegantes Santa Catarina BRA Brazil 1/21/2004 9:08 1/21/2004 1/21/2004 1 21 3 2004 9 1 Vila Rangel Zizi 100117 42 Salvador Bahia BRA Brazil 1/30/2004 22:52 1/30/2004 1/30/2004 1 30 5 2004 22 1 Cabuçu Stefania 100120 29 Timóteo Minas Gerais BRA Brazil 1/3/2004 8:33 1/3/2004 1/3/2004 1 3 6 2004 8 1 da Gamboa SandroReinaldo 100141 26 Navegantes Santa Catarina BRA Brazil 1/1/2004 16:59 1/1/2004 1/1/2004 1 1 4 2004 16 1 Moreira da Estrela Fernanda 100169 24 Porto Alegre Rio Grande do Sul BRA Brazil 1/1/2004 20:15 1/1/2004 1/1/2004 1 1 4 2004 20 1 Arapuã Ricardo 100232 34 Rio de Janeiro Rio de Janeiro BRA Brazil 1/10/2004 18:02 1/10/2004 1/10/2004 1 10 6 2004 18 1 Result Abridged SELECT UPPER (C.CUST_LAST_NAME)AS CUST_LAST_NAME , LOWER (C.CUST_FIRST_NAME) AS CUST_FIRST_NAME, C.CUST_CODE, C.CUST_AGE, C.CUST_CITY CONCAT','CONCATC.CUST_PROV_STATE CONCAT','CONCAT CON.COUNTRY_EN AS CUST_LOCATION,
  • 13. 12 COH.CUST_ORDER_DATE, VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'YYYY-MM-DD')AS CUST_ORDER_DATE2, date (COH.CUST_ORDER_DATE) asDATE, month (COH.CUST_ORDER_DATE) asMONTH, day (COH.CUST_ORDER_DATE) asDAY, DAYOFWEEK_ISO (COH.CUST_ORDER_DATE) asWEEK, year (COH.CUST_ORDER_DATE) asYEAR, time(COH.CUST_ORDER_DATE)asTIME, hour(COH.CUST_ORDER_DATE) asHOUR, quarter(COH.CUST_ORDER_DATE) asQUARTER, VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')AS CUST_ORDER_DATE3 FROM GOSALESCT.CUST_ORDER_HEADER COH INNERJOIN GOSALESCT.CUST_CUSTOMER C ON COH.CUST_CODE =C.CUST_CODE INNERJOIN GOSALESCT.CUST_COUNTRY CON ON CON.COUNTRY_CODE = C.CUST_COUNTRY_CODE WHEREC.CUST_CITY CONCAT','CONCATC.CUST_PROV_STATE CONCAT','CONCAT CON.COUNTRY_EN ISNOTNULL GROUPBYC.CUST_LAST_NAME, C.CUST_FIRST_NAME, C.CUST_CODE, C.CUST_AGE, C.CUST_CITY, C.CUST_PROV_STATE, CON.ISO_THREE_LETTER_CODE, CON.COUNTRY_EN ,COH.CUST_ORDER_DATE Result Abridged CUST_LAST_NAME CUST_FIRST_NAME CUST_CODE CUST_AGE CUST_LOCATION CUST_ORDER_DATE CUST_ORDER_DATE2 DATE MONTH DAY WEEK YEAR HOUR QUARTER CUST_ORDER_DATE3 RYAN mat 118394 17 Anchorage,Alaska,United States 3/2/2006 16:12 3/2/2006 3/2/2006 3 2 4 2006 16 1 Thursday-02-March-2006 EISEN ernst 106515 17 Apeldoorn,Gelderland,Netherlands 11/15/2007 15:04 11/15/2007 11/15/2007 11 15 4 2007 15 4 Thursday-15-November-2007 EISEN ernst 106515 17 Apeldoorn,Gelderland,Netherlands 11/24/2004 4:23 11/24/2004 11/24/2004 11 24 3 2004 4 4 Wednesday-24-November-2004 MIKHAILOV georgiy 130664 17 Astrakhan,AstrakhanOblast,Russia 4/30/2007 16:25 4/30/2007 4/30/2007 4 30 1 2007 16 2 Monday-30-April-2007 KRIEGER holger 126830 17 Augsburg,Bavaria,Germany 11/26/2006 6:18 11/26/2006 11/26/2006 11 26 7 2006 6 4 Sunday-26-November-2006 GONA kelmojabuti 125044 17 BalneárioCamboriú,SantaCatarina,Brazil 9/1/2006 18:28 9/1/2006 9/1/2006 9 1 5 2006 18 3 Friday-01-September-2006 BÄCKER karsten 127161 17 Bern,Bern,Switzerland 12/13/2006 0:05 12/13/2006 12/13/2006 12 13 3 2006 0 4 Wednesday-13-December-2006
  • 14. 13 User Defined Function create function GOSALESCT.CUST_AGE (CUSTCODE INTEGER) RETURNS INTEGER NOT DETERMINISTIC LANGUAGE SQL CALLED ON NULL INPUT RETURN SELECT CUST_AGE FROM GOSALESCT.CUST_CUSTOMER WHERE CUST_CODE = CUSTCODE SELECT CUST_CODE, CUST_FIRST_NAME, CUST_LAST_NAME, CUST_AGE(CUST_CODE) AS CUST_AGE FROM GOSALESCT.CUST_CUSTOMER WHERE CUST_CODE = CUST_CODE CUST_CODE CUST_FIRST_NAME CUST_LAST_NAME CUST_AGE --------- ---------------- -------------------- -------- 126887 Victor Hernández 31 119428 Cuilan Dong 60 119433 TaisiaLadislavova 22 119434 Jianhua Pang 42 119469 Edward Afinogenov 52 Result Abridged create function GOSALESCT.CUST_NAME (CUSTCODE INTEGER) RETURNS VARCHAR(200) NOT DETERMINISTIC LANGUAGE SQL CALLED ON NULL INPUT RETURN SELECT CUST_FIRST_NAME CONCAT ',' CONCAT CUST_LAST_NAME FROM GOSALESCT.CUST_CUSTOMER WHERE CUST_CODE = CUSTCODE SELECT COH.CUST_CODE , CUST_NAME(CUST_CODE)AS CUST_NAME, VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')AS CUST_ORDER_DATE, COH.CUST_ORDER_NUMBER, COH.CUST_TOTAL, COH.CUST_SALES_TAX, COH.CUST_TOTAL_QUANTITY, PNL.PRODUCT_NAME FROM GOSALESCT.CUST_ORDER_HEADER COH INNERJOIN GOSALESCT.CUST_ORDER_DETAIL COD ON COH.CUST_ORDER_NUMBER = COD.CUST_ORDER_NUMBER INNERJOIN GOSALES.PRODUCT_NAME_LOOKUP PNL ON PNL.PRODUCT_NUMBER = COD.PRODUCT_NUMBER WHERE CUST_CODE = CUST_CODE AND PNL.PRODUCT_LANGUAGE ='EN' CUST_CODE CUST_NAME CUST_ORDER_DATE CUST_ORDER_NUMBER CUST_TOTAL CUST_SALES_TAX CUST_TOTAL_QUANTITY PRODUCT_NAME --------- -------------------------------------- --------------------------- ----------------- ---------- -------------- ------------------- --------------------------------- 118250 Gil,Conselheiro Friday-31-March-2006 147965 881.74 166.33 2 Hibernator Lite 118862 Annett,Jaeger Saturday-29-April-2006 149549 165.44 22.82 1 Venue 120229 Gang,Dong Thursday-20-April-2006 153087 934.44 44.50 4 Canyon Mule Carryall 120229 Gang,Dong Thursday-20-April-2006 153087 934.44 44.50 4 Hibernator 120690 James,Morton Sunday-28-May-2006 154275 163.37 21.31 2 TrailChef Single Flame 120690 James,Morton Sunday-28-May-2006 154275 163.37 21.31 2 TrailChef Kitchen Kit 123917 Elena,Bolton Saturday-22-July-2006 162633 300.24 41.41 1 Opera Vision 126480 Charles,Lanford Thursday-23-November-2006 169300 25.53 2.32 1 Single Edge Result Abridged
  • 15. 14 SELECT COH.CUST_CODE , CUST_NAME(CUST_CODE)AS CUST_NAME,CUST_AGE(CUST_CODE)AS CUST_AGE, VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')AS CUST_ORDER_DATE, COH.CUST_ORDER_NUMBER, COH.CUST_TOTAL, COH.CUST_SALES_TAX, COH.CUST_TOTAL_QUANTITY, PNL.PRODUCT_NAME FROM GOSALESCT.CUST_ORDER_HEADER COH INNERJOIN GOSALESCT.CUST_ORDER_DETAIL COD ON COH.CUST_ORDER_NUMBER = COD.CUST_ORDER_NUMBER INNERJOIN GOSALES.PRODUCT_NAME_LOOKUP PNL ON PNL.PRODUCT_NUMBER = COD.PRODUCT_NUMBER WHERE CUST_CODE = CUST_CODE AND PNL.PRODUCT_LANGUAGE ='EN' CUST_CODE CUST_NAME CUST_AGE CUST_ORDER_DATE CUST_ORDER_NUMBER CUST_TOTAL CUST_SALES_TAX CUST_TOTAL_QUANTITY PRODUCT_NAME --------- ------------------------------------ -------- --------------------------- ----------------- ---------- -------------- ------------------- --------------------------------- 102919 Bob,Bass 29 Sunday-10-June-2007 189092 648.24 27.91 2 Star Lite 102919 Bob,Bass 29 Sunday-10-June-2007 189092 648.24 27.91 2 Hibernator Lite 107086 Linus,Hedberg 47 Wednesday-01-December-2004 118797 1069.61 41.14 3 TrailChef Kitchen Kit 107086 Linus,Hedberg 47 Wednesday-01-December-2004 118797 1069.61 41.14 3 Canyon Mule Extreme Backpack 107086 Linus,Hedberg 47 Wednesday-01-December-2004 118797 1069.61 41.14 3 Hawk Eye 123731 Jenny,Andersson 34 Monday-10-July-2006 162173 2603.30 520.66 1 Hailstorm Titanium Irons 118873 Mary,Honeycutt 56 Tuesday-25-April-2006 149579 189.90 14.47 1 Seeker 50 125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Husky Harness Extreme 125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Hibernator Pillow 125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Husky Rope 100 125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Hibernator Lite 125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Hibernator 125520 Amir,Kumar 44 Saturday-23-September-2006 166790 2266.29 251.81 8 Hibernator Extreme 111197 Ralph,Hunter 43 Tuesday-24-May-2005 129627 171.52 0.00 2 Canyon Mule Carryall Result Abridged CREATEFUNCTION ORDER_REC() RETURNS TABLE(CUST_CODE INTEGER, CUST_FIRST_NAME VARCHAR(90), CUST_LAST_NAME VARCHAR(90), CUST_ORDER_DATE VARCHAR(55), CUST_ORDER_NUMBER INTEGER, CUST_SALES_TAX DECIMAL, CUST_SHIP_COST DECIMAL, CUST_SUB_TOTAL DECIMAL, TOTAL_QUANTITY BIGINT ) NOTDETERMINISTIC LANGUAGESQL CALLEDONNULLINPUT RETURN SELECTC.CUST_CODE, C.CUST_FIRST_NAME, C.CUST_LAST_NAME, VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')AS CUST_ORDER_DATE, COH.CUST_ORDER_NUMBER, COH.CUST_SALES_TAX, COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL, COH.CUST_TOTAL_QUANTITY FROM GOSALESCT.CUST_CUSTOMER C INNERJOIN GOSALESCT.CUST_ORDER_HEADER COH ON COH.CUST_CODE =C.CUST_CODE; SELECT * FROM TABLE(ORDER_REC())AS CUST_REC; CUST_CODE CUST_FIRST_NAME CUST_LAST_NAME CUST_ORDER_DATE CUST_ORDER_NUMBER CUST_SALES_TAX CUST_SHIP_COST CUST_SUB_TOTAL TOTAL_QUANTITY --------- ----------------- -------------------- --------------------------- ----------------- -------------- -------------- -------------- -------------- 126909 AyakaMiyamura Tuesday-21-November-2006 170389 11 8 68 1 126920 VikentiyProkofiyov Friday-01-December-2006 170420 222 12 1223 5 126941 Edith Lapointe Sunday-19-November-2006 170478 76 5 504 1 126986 Jeffrey Hall Wednesday-22-November-2006 170599 21 8 173 2 127080 Enrico Vanni Wednesday-06-December-2006 170842 25 8 123 1 127206 Massimo Ripetto Thursday-14-December-2006 171177 516 19 2564 3 127288 Meghan Clay Thursday-21-December-2006 171381 4 5 34 1 Result Abridged CREATEFUNCTION ORDER_REC2(@CUSTID INTEGER) RETURNS TABLE(CUST_CODE INTEGER, CUST_FIRST_NAME VARCHAR(90), CUST_LAST_NAME VARCHAR(90), CUST_ORDER_DATE VARCHAR(55), CUST_ORDER_NUMBER INTEGER, CUST_SALES_TAX DECIMAL, CUST_SHIP_COST DECIMAL, CUST_SUB_TOTAL DECIMAL, TOTAL_QUANTITY BIGINT ) NOTDETERMINISTIC LANGUAGESQL RETURN SELECTC.CUST_CODE, C.CUST_FIRST_NAME, C.CUST_LAST_NAME, VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')AS CUST_ORDER_DATE, COH.CUST_ORDER_NUMBER, COH.CUST_SALES_TAX, COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL, COH.CUST_TOTAL_QUANTITY FROM GOSALESCT.CUST_CUSTOMER C INNERJOIN GOSALESCT.CUST_ORDER_HEADER COH ON
  • 16. 15 COH.CUST_CODE =C.CUST_CODE WHEREC.CUST_CODE = @CUSTID; SELECT * FROM TABLE(ORDER_REC2(126906))AS CUST_REC; CUST_CODE CUST_FIRST_NAME CUST_LAST_NAME CUST_ORDER_DATE CUST_ORDER_NUMBER CUST_SALES_TAX CUST_SHIP_COST CUST_SUB_TOTAL TOTAL_QUANTITY --------- --------------- -------------- ------------------------- ----------------- -------------- -------------- -------------- -------------- 126906 Nick Dunphy Thursday-09-November-2006 170381 10 8 179 1 Lists of functions created as viewed in Microsoft Visual Studio 2010
  • 17. 16 Data Definition CREATETABLE GOSALESCT.CUST_ORDER_REC ( REC_ID INTEGERNOTNULLPRIMARYKEYGENERATEDALWAYSASIDENTITY (STARTWITH 0903 INCREMENTBY 20), cust_codeINTEGERNOTNULL, cust_nameVARCHAR(220), cust_order_numberINTEGERNOTNULL, order_dateVARCHAR(80), cust_sales_taxDECIMAL(19,2), cust_ship_costDECIMAL(19,2), cust_subtotalDECIMAL(19,2), cust_totalDECIMAL(19,2), cust_total_quantityINTEGER, crdt_method_codeINTEGER, card_expdateVARCHAR(50), cust_cc_idINTEGER, product_numberINTEGER, product_namevarchar(240) ); CREATETABLE GOSALESCT.CUST_ORDER_ADUIT ( REC_ID INTEGER, cust_codeINTEGER , cust_nameVARCHAR(220), cust_order_numberINTEGER , order_dateVARCHAR(80), cust_sales_taxDECIMAL(19,2), cust_ship_costDECIMAL(19,2), cust_subtotalDECIMAL(19,2), cust_totalDECIMAL(19,2), cust_total_quantityINTEGER, crdt_method_codeINTEGER, card_expdateVARCHAR(50), cust_cc_idINTEGER, product_numberINTEGER, product_namevarchar(240), AUDIT_ID INTEGERNOTNULLPRIMARYKEYGENERATEDALWAYSASIDENTITY (STARTWITH 0903 INCREMENTBY 20), ACTION_TYPE CHAR(40), ACTION_DATE TIMESTAMPDEFAULTCURRENTTIMESTAMP ); CREATEVIEW GOSALESCT.SALES_VW AS SELECT COH.CUST_CODE, CUST.CUST_FIRST_NAME CONCAT','CONCAT CUST.CUST_LAST_NAME ASCust_Name, COH.CUST_ORDER_NUMBER ,VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')ASOrder_Date, COH.CUST_SALES_TAX asSales_Tax, COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL, COH.CUST_TOTAL, COH.CUST_TOTAL_QUANTITY,CRTCD.CRDT_METHOD_CODE , VARCHAR_FORMAT(CRTCD.CUST_CC_EXP_DATE, 'Day-dd-Month-YYYY')ASCard_ExpDate, CRTCD.cust_cc_id,PRD.PRODUCT_NUMBER,PRD.product_NAME FROM GOSALESCT.CUST_CUSTOMER CUST INNERJOIN GOSALESCT.CUST_ORDER_HEADER COH ON CUST.CUST_CODE = COH.CUST_CODE INNERJOIN GOSALESCT.CUST_CRDT_CARD CRTCD ON CUST.CUST_CODE = CRTCD.CUST_CODE INNERJOIN GOSALESCT.CUST_ORDER_DETAIL COD ON COD.CUST_ORDER_NUMBER = COH.CUST_ORDER_NUMBER INNERJOIN GOSALES.PRODUCT_NAME_LOOKUP PRD ON COD.PRODUCT_NUMBER = PRD.PRODUCT_NUMBER WHERE PRD.PRODUCT_LANGUAGE ='EN'
  • 18. 17 SELECT * FROM GOSALESCT.SALES_VW FETCH FIRST 15 ROWS ONLY; CUST_COD E CUST_NAME CUST_ORDER_NUMBER ORDER_DATE SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME 131090 Sonya,Widerberg 100039 Wednesday-14-January- 2004 43.03 6.92 165.18 215.12 2 28 Wednesday-01-December- 2010 10017 87110 BugShield Spray 131090 Sonya,Widerberg 100039 Wednesday-14-January- 2004 43.03 6.92 165.18 215.12 2 28 Wednesday-01-December- 2010 10017 78110 Seeker 35 131156 Wei,Xi 100201 Thursday-29-January-2004 14.24 5.87 77.89 98 1 29 Sunday-01-May-2011 10081 143150 Trendi 131168 Elena,Nilina 100227 Saturday-24-January-2004 15.8 5.87 81.9 103.57 1 29 Friday-01-January-2010 10092 136150 Sam 131210 Achim,Bergmann 100329 Friday-02-January-2004 503.9 9.84 2509.66 3023.4 2 29 Monday-01-July-2013 10134 110110 Blue Steel Putter 131210 Achim,Bergmann 100329 Friday-02-January-2004 503.9 9.84 2509.66 3023.4 2 29 Monday-01-July-2013 10134 106110 Hailstorm Steel Woods Set 100008 Alphonse,Bobert 100463 Thursday-22-January-2004 1.76 7.94 27.17 36.87 1 28 Tuesday-01-May-2012 10187 9110 TrailChef Kettle 100026 Bryce,Denver 100507 Thursday-01-January-2004 56.51 13.97 551.13 621.61 1 25 Saturday-01-December-2012 10205 44110 Husky Rope 100 100062 Yi,Dong 100602 Sunday-18-January-2004 8.06 5.87 155.38 169.31 1 28 Thursday-01-July-2010 10240 68120 Polar Sun 100142 Ruben,Raisaov 100801 Thursday-01-January-2004 434.73 9.84 2405.34 2849.91 2 25 Tuesday-01-December-2009 10317 106110 Hailstorm Steel Woods Set 100142 Ruben,Raisaov 100801 Thursday-01-January-2004 434.73 9.84 2405.34 2849.91 2 25 Tuesday-01-December-2009 10317 109110 Course Pro Putter 100160 Kan,Shang 100846 Friday-30-January-2004 675.42 13.29 3959.76 4648.47 4 29 Friday-01-March-2013 10335 101110 Hailstorm Steel Irons 100160 Kan,Shang 100846 Friday-30-January-2004 675.42 13.29 3959.76 4648.47 4 29 Friday-01-March-2013 10335 106110 Hailstorm Steel Woods Set 100160 Kan,Shang 100846 Friday-30-January-2004 675.42 13.29 3959.76 4648.47 4 29 Friday-01-March-2013 10335 109110 Course Pro Putter 100160 Kan,Shang 100846 Friday-30-January-2004 675.42 13.29 3959.76 4648.47 4 29 Friday-01-March-2013 10335 111110 Blue Steel Max Putter
  • 19. 18 Stored Procedures CREATEPROCEDUREGOSALESCT.Order_Rec() LANGUAGESQL DYNAMICRESULTSETS 1 READSSQLDATA NOTDETERMINISTIC CALLEDONNULLINPUT BEGIN DECLARE CUSTORDER CURSORWITHRETURNFOR SELECT COH.CUST_CODE, CUST.CUST_FIRST_NAME CONCAT','CONCAT CUST.CUST_LAST_NAME ASCust_Name, COH.CUST_ORDER_NUMBER ,VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')ASOrder_Date, COH.CUST_SALES_TAX asSales_Tax, COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL, COH.CUST_TOTAL, COH.CUST_TOTAL_QUANTITY,CRTCD.CRDT_METHOD_CODE , VARCHAR_FORMAT(CRTCD.CUST_CC_EXP_DATE, 'Day-dd-Month-YYYY')ASCard_ExpDate, CRTCD.cust_cc_id,PRD.PRODUCT_NUMBER,PRD.product_NAME FROM GOSALESCT.CUST_CUSTOMER CUST INNERJOIN GOSALESCT.CUST_ORDER_HEADER COH ON CUST.CUST_CODE = COH.CUST_CODE INNERJOIN GOSALESCT.CUST_CRDT_CARD CRTCD ON CUST.CUST_CODE = CRTCD.CUST_CODE INNERJOIN GOSALESCT.CUST_ORDER_DETAIL COD ON COD.CUST_ORDER_NUMBER = COH.CUST_ORDER_NUMBER INNERJOIN GOSALES.PRODUCT_NAME_LOOKUP PRD ON COD.PRODUCT_NUMBER = PRD.PRODUCT_NUMBER WHERE PRD.PRODUCT_LANGUAGE ='EN'; OPEN CUSTORDER; END CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME --------- ------------------------------------ ----------------- -------------------------- --------- -------------- ------------- ---------- ------------------- ---------------- --------------------------- ---------- -------------- ----- ---------------------------- 131090 Sonya,Widerberg 100039 Wednesday-14-January-2004 43.03 6.92 165.18 215.12 2 28 Wednesday-01-December-2010 10017 87110 BugShield Spray 131090 Sonya,Widerberg 100039 Wednesday-14-January-2004 43.03 6.92 165.18 215.12 2 28 Wednesday-01-December-2010 10017 78110 Seeker 35 131156 Wei,Xi 100201 Thursday-29-January-2004 14.24 5.87 77.89 98.00 1 29 Sunday-01-May-2011 10081 143150 Trendi 131168 Elena,Nilina 100227 Saturday-24-January-2004 15.80 5.87 81.90 103.57 1 29 Friday-01-January-2010 10092 136150 Sam 131210 Achim,Bergmann 100329 Friday-02-January-2004 503.90 9.84 2509.66 3023.40 2 29 Monday-01-July-2013 10134 110110 Blue Steel Putter Result Abridged CREATEPROCEDURE GOSALESCT.Order_Rec3(IN @CUSTID INTEGER) LANGUAGESQL DYNAMICRESULTSETS 1 READSSQLDATA NOTDETERMINISTIC BEGIN DECLARE CUSTORDER CURSORWITHRETURNFOR SELECT COH.CUST_CODE, CUST.CUST_FIRST_NAME CONCAT','CONCAT CUST.CUST_LAST_NAME ASCust_Name, COH.CUST_ORDER_NUMBER ,VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')ASOrder_Date, COH.CUST_SALES_TAX asSales_Tax, COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL, COH.CUST_TOTAL, COH.CUST_TOTAL_QUANTITY,CRTCD.CRDT_METHOD_CODE , VARCHAR_FORMAT(CRTCD.CUST_CC_EXP_DATE, 'Day-dd-Month-YYYY')ASCard_ExpDate, CRTCD.cust_cc_id,PRD.PRODUCT_NUMBER,PRD.product_NAME FROM GOSALESCT.CUST_CUSTOMER CUST INNERJOIN GOSALESCT.CUST_ORDER_HEADER COH ON CUST.CUST_CODE = COH.CUST_CODE INNERJOIN GOSALESCT.CUST_CRDT_CARD CRTCD ON CUST.CUST_CODE = CRTCD.CUST_CODE INNERJOIN GOSALESCT.CUST_ORDER_DETAIL COD ON COD.CUST_ORDER_NUMBER = COH.CUST_ORDER_NUMBER INNERJOIN GOSALES.PRODUCT_NAME_LOOKUP PRD ON COD.PRODUCT_NUMBER = PRD.PRODUCT_NUMBER WHERE PRD.PRODUCT_LANGUAGE ='EN' AND CUST.CUST_CODE = @CUSTID; OPEN CUSTORDER; END CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME --------- ------------ ----------------- ------------------------- --------- -------------- ------------- ---------- ------------------- ---------------- ------------------------- ---------- -------------- ---------------------- 131100 Zinia,Jarvis 100063 Wednesday-07-January-2004 2.68 5.57 35.70 43.95 1 28 Tuesday-01-September-2009 10026 124130 Cat Eye 131100 Zinia,Jarvis 181181 Tuesday-24-April-2007 21.09 9.53 314.93 345.55 2 28 Tuesday-01-September-2009 10026 8110 TrailChef Double Flame 131100 Zinia,Jarvis 181181 Tuesday-24-April-2007 21.09 9.53 314.93 345.55 2 28 Tuesday-01-September-2009 10026 9110 TrailChef Kettle Table Population CREATEPROCEDURE GOSALESCT.Order_Rec4(IN @CUSTID INTEGER) LANGUAGESQL DYNAMICRESULTSETS 1 MODIFIESSQLDATA NOTDETERMINISTIC BEGINATOMIC
  • 20. 19 INSERTINTO GOSALESCT.CUST_ORDER_REC(cust_code,cust_name,cust_order_number,order_date,cust_sales_tax, cust_ship_cost,cust_subtotal,cust_total,cust_total_quantity,crdt_method_code,card_expdate,cust_cc_id, product_number,product_name) SELECT COH.CUST_CODE, CUST.CUST_FIRST_NAME CONCAT','CONCAT CUST.CUST_LAST_NAME ASCust_Name, COH.CUST_ORDER_NUMBER ,VARCHAR_FORMAT(COH.CUST_ORDER_DATE,'Day-dd-Month-YYYY')ASOrder_Date, COH.CUST_SALES_TAX asSales_Tax, COH.CUST_SHIP_COST, COH.CUST_SUBTOTAL, COH.CUST_TOTAL, COH.CUST_TOTAL_QUANTITY,CRTCD.CRDT_METHOD_CODE , VARCHAR_FORMAT(CRTCD.CUST_CC_EXP_DATE, 'Day-dd-Month-YYYY')ASCard_ExpDate, CRTCD.cust_cc_id,PRD.PRODUCT_NUMBER,PRD.product_NAME FROM GOSALESCT.CUST_CUSTOMER CUST INNERJOIN GOSALESCT.CUST_ORDER_HEADER COH ON CUST.CUST_CODE = COH.CUST_CODE INNERJOIN GOSALESCT.CUST_CRDT_CARD CRTCD ON CUST.CUST_CODE = CRTCD.CUST_CODE INNERJOIN GOSALESCT.CUST_ORDER_DETAIL COD ON COD.CUST_ORDER_NUMBER = COH.CUST_ORDER_NUMBER INNERJOIN GOSALES.PRODUCT_NAME_LOOKUP PRD ON COD.PRODUCT_NUMBER = PRD.PRODUCT_NUMBER WHERE PRD.PRODUCT_LANGUAGE ='EN' AND CUST.CUST_CODE = @CUSTID; END CALL Order_Rec4(100117); SELECT * FROM GOSALESCT.CUST_ORDER_REC; REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUM BER ORDER_DATE CUST_SALES_TA X CUST_SHIP_C OST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME 903 100117 Zizi,Vila Rangel 100738 Friday-30-January-2004 23.36 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 28110 Canyon Mule Cooler 923 100117 Zizi,Vila Rangel 100738 Friday-30-January-2004 23.36 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 3110 TrailChef Kitchen Kit 943 100117 Zizi,Vila Rangel 181893 Sunday-01-April-2007 4.61 7.33 14.61 26.55 1 25 Thursday-01-March-2012 10292 1110 TrailChef Water Bag CREATEPROCEDUREGOSALESCT.Order_Rec_update ( IN @CUSTID INTEGER, IN @PRODID INTEGER, IN @SALTX DECIMAL(19,2) ) LANGUAGESQL DYNAMICRESULTSETS 1 MODIFIESSQLDATA NOTDETERMINISTIC BEGINATOMIC UPDATE GOSALESCT.CUST_ORDER_REC SETcust_sales_tax = @SALTX WHEREcust_code= @CUSTID ANDproduct_number = @PRODID; END CALL GOSALESCT.Order_Rec_update(100117,28110,25); REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE CUST_SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME 903 100117 Zizi,Vila Rangel 100738 Friday-30- January-2004 25 9.16 102.09 134.61 2 25 Thursday-01- March-2012 10292 28110 Canyon Mule Cooler 923 100117 Zizi,Vila Rangel 100738 Friday-30- January-2004 23.36 9.16 102.09 134.61 2 25 Thursday-01- March-2012 10292 3110 TrailChef Kitchen Kit 943 100117 Zizi,Vila Rangel 181893 Sunday-01- April-2007 4.61 7.33 14.61 26.55 1 25 Thursday-01- March-2012 10292 1110 TrailChef Water Bag Since the Rec_ID was not used in the procedure. The stored procedure could update multiple rows since a customer may purchase a product multiple times. To avoid this problem, the following delete procedure and update procedure 2 has to include the Rec_ID createPROCEDUREGOSALESCT.Order_Rec_delete ( IN @CUSTID INTEGER, IN @PRODID INTEGER, IN @RECID INTEGER ) LANGUAGESQL DYNAMICRESULTSETS 1 MODIFIESSQLDATA NOTDETERMINISTIC CALLEDONNULLINPUT BEGINATOMIC delete GOSALESCT.CUST_ORDER_REC WHEREcust_code= @CUSTID ANDproduct_number = @PRODID AND REC_ID = @RECID; END
  • 21. 20 createPROCEDURE GOSALESCT.Order_Rec_update2 ( IN @CUSTID INTEGER, IN @PRODID INTEGER, IN @RECID INTEGER, IN @TX DECIMAL(19,2) ) LANGUAGESQL DYNAMICRESULTSETS 1 MODIFIESSQLDATA NOTDETERMINISTIC CALLEDONNULLINPUT BEGINATOMIC update GOSALESCT.CUST_ORDER_REC setcust_sales_tax =@TX WHEREcust_code= @CUSTID ANDproduct_number = @PRODID AND REC_ID = @RECID; END CALL GOSALESCT.Order_Rec_delete(100117, 1110,943); CALL GOSALESCT.Order_Rec_update2(100117,3110, 923,45); SELECT * FROM GOSALESCT.CUST_ORDER_REC; REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUM BER ORDER_DATE CUST_SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME 903 100117 Zizi,Vila Rangel 100738 Friday-30- January-2004 25 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 28110 Canyon Mule Cooler 923 100117 Zizi,Vila Rangel 100738 Friday-30- January-2004 45 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 3110 TrailChef Kitchen Kit List of Storedprocedures from Microsoft Visual Studios 2010. IBM Data Studio Workspace
  • 22. 21 Triggers CREATETRIGGER GOSALESCT.RECORD_INSERT AFTERINSERT ON GOSALESCT.CUST_ORDER_REC REFERENCINGNEWAS INSERTED FOREACHROWMODEDB2SQL INSERTINTO GOSALESCT.CUST_ORDER_ADUIT (REC_ID,cust_code,cust_name,cust_order_number,order_date, cust_sales_tax,cust_ship_cost,cust_subtotal,cust_total,cust_total_quantity, crdt_method_code,card_expdate,cust_cc_id, product_number,product_name, ACTION_TYPE) VALUES(INSERTED.REC_ID,INSERTED.cust_code,INSERTED.cust_name,INSERTED.cust_order_number,INSERTED.order_date, INSERTED.cust_sales_tax,INSERTED.cust_ship_cost,INSERTED.cust_subtotal,INSERTED.cust_total,INSERTED.cust_total_quantity, INSERTED.crdt_method_code,INSERTED.card_expdate,INSERTED.cust_cc_id, INSERTED.product_number,INSERTED.product_name, 'INSERT'); Execute the previous stored procedure used to populate cust_order_rec table. CALL Order_Rec4(100185); Select * from cust_order_rec table; REC_ID CUST_C ODE CUST_NAME CUST_ORDER_NU MBER ORDER_DA TE CUST_SALES_T AX CUST_SHIP_CO ST CUST_SUBTOT AL CUST_TOT AL CUST_TOTAL_QUANT ITY CRDT_METHOD_CO DE CARD_EXPDA TE CUST_CC_I D PRODUCT_NUMB ER PRODUCT_NA ME 903 100117 Zizi,Vila Rangel 100738 Friday-30- January-2004 25 9.16 102.09 134.61 2 25 Thursday-01- March-2012 10292 28110 Canyon Mule Cooler 923 100117 Zizi,Vila Rangel 100738 Friday-30- January-2004 45 9.16 102.09 134.61 2 25 Thursday-01- March-2012 10292 3110 TrailChef Kitchen Kit 963 100185 Jeff,Canon 100910 Thursday-29- January-2004 1.53 5.57 16.33 23.43 1 28 Sunday-01- September-2013 10359 73110 Single Edge 983 100185 Jeff,Canon 182071 Wednesday- 18-April-2007 1.82 5.87 20.08 27.77 1 28 Sunday-01- September-2013 10359 73110 Single Edge SELECT * FROM GOSALESCT.CUST_ORDER_ADUIT; REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE CUST_SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME AUDIT_ID ACTION_TYPE ACTION_DATE ------ --------- ---------- ----------------- ------------------------ -------------- -------------- ------------- ---------- ------------------- ---------------- ------------------------ ---------- -------------- ------------ -------- -- -------------------------------------- ----------------------- 963 100185 Jeff,Canon 100910 Thursday-29-January-2004 1.53 5.57 16.33 23.43 1 28 Sunday-01-September-2013 10359 73110 Single Edge 903 INSERT 2013-04-22 06:52:09.123 983 100185 Jeff,Canon 182071 Wednesday-18-April-2007 1.82 5.87 20.08 27.77 1 28 Sunday-01-September-2013 10359 73110 Single Edge 923 INSERT 2013-04-22 06:52:09.123 CREATETRIGGER GOSALESCT.RECORD_DELETE AFTERDELETE ON GOSALESCT.CUST_ORDER_REC REFERENCINGOLDAS DELETED FOREACHROWMODEDB2SQL INSERTINTO GOSALESCT.CUST_ORDER_ADUIT (REC_ID,cust_code,cust_name,cust_order_number,order_date, cust_sales_tax,cust_ship_cost,cust_subtotal,cust_total,cust_total_quantity, crdt_method_code,card_expdate,cust_cc_id, product_number,product_name, ACTION_TYPE) VALUES(DELETED.REC_ID,DELETED.cust_code,DELETED.cust_name,DELETED.cust_order_number,DELETED.order_date, DELETED.cust_sales_tax,DELETED.cust_ship_cost,DELETED.cust_subtotal,DELETED.cust_total,DELETED.cust_total_quantity, DELETED.crdt_method_code,DELETED.card_expdate,DELETED.cust_cc_id, DELETED.product_number,DELETED.product_name, 'DELETE'); CALL GOSALESCT.Order_Rec_delete(100185, 73110, 963 ); Select * from cust_order_rec table; REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE CUST_SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME 903 100117 Zizi,Vila Rangel 100738 Friday-30-January-2004 25 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 28110 Canyon Mule Cooler 923 100117 Zizi,Vila Rangel 100738 Friday-30-January-2004 45 9.16 102.09 134.61 2 25 Thursday-01-March-2012 10292 3110 TrailChef Kitchen Kit 983 100185 Jeff,Canon 182071 Wednesday-18-April-2007 1.82 5.87 20.08 27.77 1 28 Sunday-01-September- 2013 10359 73110 Single Edge SELECT * FROM GOSALESCT.CUST_ORDER_ADUIT;
  • 23. 22 REC_ID CUST_CODE CUST_NAME CUST_ORDER_NUMBER ORDER_DATE CUST_SALES_TAX CUST_SHIP_COST CUST_SUBTOTAL CUST_TOTAL CUST_TOTAL_QUANTITY CRDT_METHOD_CODE CARD_EXPDATE CUST_CC_ID PRODUCT_NUMBER PRODUCT_NAME AUDIT_ID ACTION_TYPE ACTION_DATE ------ --------- ---------- ----------------- ------------------------ -------------- -------------- ------------- ---------- ------------------- ---------------- ------------------------ ---------- -------------- ------------ -------- -- -------------------------------------- ----------------------- 963 100185 Jeff,Canon 100910 Thursday-29-January-2004 1.53 5.57 16.33 23.43 1 28 Sunday-01-September-2013 10359 73110 Single Edge 903 INSERT 2013-04-22 06:52:09.123 983 100185 Jeff,Canon 182071 Wednesday-18-April-2007 1.82 5.87 20.08 27.77 1 28 Sunday-01-September-2013 10359 73110 Single Edge 923 INSERT 2013-04-22 06:52:09.123 963 100185 Jeff,Canon 100910 Thursday-29-January-2004 1.53 5.57 16.33 23.43 1 28 Sunday-01-September-2013 10359 73110 Single Edge 943 DELETE 2013-04-22 07:15:04.816 List of triggers created as displayed in Oracle JDEVELOEPER
  • 24. 23
  • 25. 24
  • 26. 25