TekBytz

Tag: DB2

Migrating Oracle Pivot Function to DB2/DASHDB

by on Aug.08, 2017, under Database

I have come across a situation where I need to migrate a ORACLE query which has a pivot function to DB2 equivalent SQL. The Pivot function is not available in DB2 or DASHDB. so was no direct solution in the internet and hence came up with my own solution

Sample Oracle Query with pivot function :

SELECT NM,DESC,ADM,USR,SUP
FROM
(
SELECT NM, DESC, GRP
FROM SRC_GRP
)
PIVOT
(
COUNT(GRP)
FOR GRP IN
(
'Admin' as ADM,
'User' as USR,
'Support' as SUP
)
)
ORDER BY NM

 

Converted equivalent DB2/DASHDB query:

SELECT NM,DESC,count(ADM) AS ADM,count(USR) AS USR,count(SUP) AS SUP
FROM
(
SELECT NM, DESC,
CASE WHEN GRP = 'Admin' THEN GRP END AS ADM,
CASE WHEN GRP = 'User' THEN GRP END AS USR,
CASE WHEN GRP = 'Support' THEN GRP END AS SUP
FROM SRC_GRP
)
group by NM, DESC
Order by NM

 

I was able to get the same output from both the queries.

Leave a Comment :, , , , , , more...

SQL0668N Operation not allowed for reason code “3” on table

by on Jul.24, 2017, under Error and Issues

Error:

SQLExecute reported: SQLSTATE = 57016: Native Error Code = -668: Msg = [IBM][CLI Driver][DB2/LINUXX8664] SQL0668N Operation not allowed for reason code “3” on table “XXX.XXXX”. SQLSTATE=57016

 

Resolution:

After doing several research the issue was the table was marked in check pending state due to bad bulk load without terminate in load statement.

Loading a null file to the table with the terminate command will clear the issue.

load from /dev/null of del terminate into XXX.XXXX

Sample :

db2 => LOAD FROM /DEV/NULL OF DEL TERMINATE INTO XXX.XXXX
SQL3110N The utility has completed processing. "0" rows were read from the
input file.


Number of rows read = 0
Number of rows skipped = 0
Number of rows loaded = 0
Number of rows rejected = 0
Number of rows deleted = 0
Number of rows committed = 0

 

Platform :

Datastage 11.5 on Linux &

DB2 10.5 on Linux

Leave a Comment :, , , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!