<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-14924341</id><updated>2012-02-16T19:09:59.396+05:30</updated><category term='IBM'/><category term='PSF'/><category term='SMP/E'/><category term='JCL'/><category term='Table'/><category term='Cobol'/><category term='z/os'/><category term='UDF'/><category term='Mainframe'/><title type='text'>DB2 Universal Database</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://db2.whitelotus.co.in/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>95</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14924341.post-5432649037966559554</id><published>2007-02-15T12:37:00.000+05:30</published><updated>2007-02-15T12:38:05.987+05:30</updated><title type='text'>Toad for DB2</title><content type='html'>Toad™ for DB2 is a database development and administration solution that maximizes DB2 code quality while improving developer productivity.&lt;br /&gt;&lt;br /&gt;Download for free: &lt;a href="http://toadsoft.com/toaddb2/lic_agree.html"&gt;http://toadsoft.com/toaddb2/lic_agree.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Try this if you have system installed with db2 system&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;br /&gt;Master Detail Browser : Allows browsing and editing of data from related tables through one user interface&lt;br /&gt;ER Diagrams: Allows automatic creation of ER diagrams for database tables&lt;br /&gt;Report Designer: For creating professional reports&lt;br /&gt;Debugger : Permits line-by-line and statement-by-statement debugging for SQL, Stored Procedures, and Triggers. Users can step through code one line at a time as it executes on the server, set conditional breakpoints, watch and modify variables, and view the execution stack.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-5432649037966559554?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/5432649037966559554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/5432649037966559554'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2007/02/toad-for-db2.html' title='Toad for DB2'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-6268186133686534785</id><published>2007-01-31T17:40:00.000+05:30</published><updated>2007-01-31T17:41:37.873+05:30</updated><title type='text'>Tables and Their Cousins</title><content type='html'>From Craigmullins.&lt;br /&gt;&lt;br /&gt;In an today's SQL DBMSes the primary access point for data is the "table." A table consists of multiple rows, each with a fixed and unchanging number of defined columns. But there are several table alternatives that behave just like tables.&lt;br /&gt;For example, DB2 allows the following:&lt;br /&gt;&lt;strong&gt;ALIAS&lt;/strong&gt; - an alternative name that can be used in SQL statements to refer to a table or a view in the same or a remoteDB2 subsystem.&lt;br /&gt;&lt;strong&gt;SYNONYM&lt;/strong&gt; - an alternative name that can be used in SQL statements to refer to a table or a view in the same DB2 subsystem. Synonyms are accessible only by the synonym owner.&lt;br /&gt;&lt;strong&gt;VIEW&lt;/strong&gt; - an alternative representation of data from one ormore tables or views.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-6268186133686534785?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/6268186133686534785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/6268186133686534785'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2007/01/tables-and-their-cousins.html' title='Tables and Their Cousins'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-5875136892642987889</id><published>2007-01-24T18:28:00.000+05:30</published><updated>2007-01-24T18:36:30.117+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='UDF'/><title type='text'>What is fenced user-defined function and non-fenced user-defined functions?</title><content type='html'>What is fenced user-defined function and non-fenced user-defined functions?&lt;br /&gt;&lt;br /&gt;When a fenced user defined function is invoked, DB2 starts a sub-process, which loads the shared module/dll holding the user-defined function. The main DB2 process then communicates with the sub-process via IPC to pump data through the user defined function.&lt;br /&gt;&lt;br /&gt;In the case of an unfenced user defined function, the main DB2 process loads the shared module/dll holding the user-defined function directly and calls the function directly.&lt;br /&gt;&lt;br /&gt;An unfenced function is vastly faster than the fenced function. However, the trade off is that if you have any errors in the UDF, then you will crash the main DB2 engine and the system will be down, and will require a recovery when restarted. So, if you are POSITIVE you have no errors in your UDF, then make it unfenced.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Fenced Functions are stored in sqllib/function and unfenced functions are stored in sqllib/unfenced&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-5875136892642987889?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/5875136892642987889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/5875136892642987889'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2007/01/what-is-fenced-user-defined-function.html' title='What is fenced user-defined function and non-fenced user-defined functions?'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-1141142843658708378</id><published>2007-01-16T15:48:00.000+05:30</published><updated>2007-01-16T15:50:23.811+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Table'/><title type='text'>Drop table if it exists</title><content type='html'>&lt;strong&gt;&lt;span style="color:#000066;"&gt;Begin atomic&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt; if(exists(select 1 from syscat.tables where tabschema = 'MYSCHEMA' and tabname = 'MYTABLE'))&lt;br /&gt;then   drop table MYSCHEMA.MYTABLE;&lt;br /&gt;end if;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;End&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-1141142843658708378?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/1141142843658708378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/1141142843658708378'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2007/01/drop-table-if-it-exists.html' title='Drop table if it exists'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-1886640951815091947</id><published>2007-01-16T14:58:00.000+05:30</published><updated>2007-01-16T15:00:27.071+05:30</updated><title type='text'>DB2 9 Data Compression</title><content type='html'>&lt;p&gt;For large warehouses or databases with huge volumes of data, the cost of the storage subsystem can easily exceed the combined cost of the hardware server and the data server software. Therefore, even a small reduction in the storage subsystem can result in substantial cost savings for the entire database solution.&lt;/p&gt;&lt;p&gt;The new data row compression technology in DB2 9 can save up to 80% savings on disc space and I/O improvements of up to 40%.&lt;br /&gt;If the volume of the data you need to manage is exploding, you may want to take a closer look at DB2 9.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-1886640951815091947?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang=en_US&amp;source=sw-infomgt&amp;S_PKG=db29compdemo&amp;S_TACT=106AC01W&amp;S_CMP=VIPER2' title='DB2 9 Data Compression'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/1886640951815091947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/1886640951815091947'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2007/01/db2-9-data-compression.html' title='DB2 9 Data Compression'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-6971708329587091654</id><published>2006-12-18T09:03:00.001+05:30</published><updated>2009-02-14T11:44:42.595+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cobol'/><title type='text'>Entry Statement</title><content type='html'>The &lt;a title="Cobol Entry" href="http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/IGY3LR00/6.2.12?SHELF=igy3sh01&amp;DT=20011206182158&amp;amp;CASE=" target="_blank" modo="false"&gt;ENTRY statement &lt;/a&gt;establishes an alternate entry point into a COBOL called subprogram.&lt;br /&gt; When a CALL statement naming the alternate entry point is executed in a calling program, control is transferred to the next executable statement following the ENTRY statement.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-6971708329587091654?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/6971708329587091654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/6971708329587091654'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/entry-statement_18.html' title='Entry Statement'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-8573467176272013877</id><published>2006-12-18T09:03:00.000+05:30</published><updated>2009-02-14T11:44:42.596+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cobol'/><title type='text'>Entry Statement</title><content type='html'>The &lt;a title="Cobol Entry" href="http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/IGY3LR00/6.2.12?SHELF=igy3sh01&amp;DT=20011206182158&amp;amp;CASE=" target="_blank" modo="false"&gt;ENTRY statement &lt;/a&gt;establishes an alternate entry point into a COBOL called subprogram.&lt;br /&gt; When a CALL statement naming the alternate entry point is executed in a calling program, control is transferred to the next executable statement following the ENTRY statement.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-8573467176272013877?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/8573467176272013877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/8573467176272013877'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/entry-statement.html' title='Entry Statement'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-6547664601728750392</id><published>2006-12-18T09:02:00.001+05:30</published><updated>2009-02-14T11:44:42.596+05:30</updated><title type='text'>Setting Return Codes in Cobol</title><content type='html'>There is a “special register” called RETURN-CODE in every COBOLprogram. It is defined by the system as PIC S9(4) COMP VALUE ZERO.&lt;br /&gt;At the start of a program, it is initialized to 0 and is updated aftereach CALL statement.In a COBOL program that needs to set a return code:&lt;br /&gt;    MOVE return-code-value TO RETURN-CODE.    GOBACK.In a COBOL program that needs to check a return code:&lt;br /&gt;   CALL ‘SUBPGM’ USING PARM1.     IF RETURN-CODE = return-code-value&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-6547664601728750392?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/6547664601728750392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/6547664601728750392'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/setting-return-codes-in-cobol_18.html' title='Setting Return Codes in Cobol'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-3173564649095185369</id><published>2006-12-18T09:02:00.000+05:30</published><updated>2009-02-14T11:44:42.596+05:30</updated><title type='text'>Setting Return Codes in Cobol</title><content type='html'>There is a “special register” called RETURN-CODE in every COBOLprogram. It is defined by the system as PIC S9(4) COMP VALUE ZERO.&lt;br /&gt;At the start of a program, it is initialized to 0 and is updated aftereach CALL statement.In a COBOL program that needs to set a return code:&lt;br /&gt;    MOVE return-code-value TO RETURN-CODE.    GOBACK.In a COBOL program that needs to check a return code:&lt;br /&gt;   CALL ‘SUBPGM’ USING PARM1.     IF RETURN-CODE = return-code-value&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-3173564649095185369?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/3173564649095185369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/3173564649095185369'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/setting-return-codes-in-cobol.html' title='Setting Return Codes in Cobol'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-1890972933114615915</id><published>2006-12-18T09:01:00.001+05:30</published><updated>2009-02-14T11:44:42.597+05:30</updated><title type='text'>The Aging Mainframer</title><content type='html'>&lt;p&gt;The Aging Mainframer -from craigmullin’s&lt;/p&gt;&lt;p&gt;The mainframe experts are getting older and slowly retiring. And who willreplace them? Most young IT professionals do not choose to work onmainframe systems, instead choosing to concentrate on the latest technologybandwagons — things like Windows and Linux, open source and so on.&lt;/p&gt;&lt;p&gt;Put oneof these newbies in front of a terminal and introduce them to the joys ofJCL, ISPF and COBOL, then watch them scream out the door yelling “I want myJava, .NET!”I also screamed like this before…what about u ? will u replace …Today’s mainframe environment is quite different from the mainframe ofyesteryear. That hulking, water-cooled beast you may remember has beenreplaced with chip-based, CMOS, air-cooled systems. &lt;/p&gt;&lt;p&gt;Today’s mainframes areeasier to hook together using Parallel Sysplex technology. And all of the“modern” technology used on Windows and Linux platforms works on themainframe, too. Yes, that means XML, TCP/IP, Java and so on all work on themainframe, too.We would like to work on these advance stuff’s… But Only few are gettingchance..Reality, lot’s of opportunity are there for mainframe experts… &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-1890972933114615915?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/1890972933114615915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/1890972933114615915'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/aging-mainframer_18.html' title='The Aging Mainframer'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-5824456606592338228</id><published>2006-12-18T09:01:00.000+05:30</published><updated>2009-02-14T11:44:42.597+05:30</updated><title type='text'>The Aging Mainframer</title><content type='html'>&lt;p&gt;The Aging Mainframer -from craigmullin’s&lt;/p&gt;&lt;p&gt;The mainframe experts are getting older and slowly retiring. And who willreplace them? Most young IT professionals do not choose to work onmainframe systems, instead choosing to concentrate on the latest technologybandwagons — things like Windows and Linux, open source and so on.&lt;/p&gt;&lt;p&gt;Put oneof these newbies in front of a terminal and introduce them to the joys ofJCL, ISPF and COBOL, then watch them scream out the door yelling “I want myJava, .NET!”I also screamed like this before…what about u ? will u replace …Today’s mainframe environment is quite different from the mainframe ofyesteryear. That hulking, water-cooled beast you may remember has beenreplaced with chip-based, CMOS, air-cooled systems. &lt;/p&gt;&lt;p&gt;Today’s mainframes areeasier to hook together using Parallel Sysplex technology. And all of the“modern” technology used on Windows and Linux platforms works on themainframe, too. Yes, that means XML, TCP/IP, Java and so on all work on themainframe, too.We would like to work on these advance stuff’s… But Only few are gettingchance..Reality, lot’s of opportunity are there for mainframe experts… &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-5824456606592338228?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/5824456606592338228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/5824456606592338228'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/aging-mainframer.html' title='The Aging Mainframer'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-6326763023783229325</id><published>2006-12-18T08:59:00.001+05:30</published><updated>2009-02-14T11:44:42.597+05:30</updated><title type='text'>REAL facts about Mainframe - 16 TH IS REALY TRUE</title><content type='html'>&lt;p&gt;&lt;strong&gt;REAL facts about Mainframe - 16 TH IS REALY TRUE&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1. The mainframes hold approximately ” 70 % ” of the entire data stored in this planet&lt;/p&gt;&lt;p&gt;2. The latest ones can support over 25,000 users&lt;/p&gt;&lt;p&gt;3. They can support devices spread over 26 miles using fibre optics&lt;/p&gt;&lt;p&gt;4. The size of the “basic” OS is about 14 GB&lt;/p&gt;&lt;p&gt;5. This OS comes in about 57 magnetic tapes, But latest with 4 tapes&lt;/p&gt;&lt;p&gt;6. It takes ATLEAST a month to install and customize a basic mainframe OS configuration&lt;/p&gt;&lt;p&gt;7. It takes around 3 full days for a mainframe to get up and running&lt;/p&gt;&lt;p&gt;8. Basic configuration for development environment costs 8 crores (hardware + Software)&lt;/p&gt;&lt;p&gt;9. A full team of qualified system operators are always required to be on stand by to ensure successful operation10. Earlier mainframes were provided with cooling pipes through which cold water was passed to cool the system - TCS have one in Chennai facility&lt;/p&gt;&lt;p&gt;11. Recent mainframes have variable speed fans in the cabinet to keep it cool&lt;/p&gt;&lt;p&gt;12. Have u ever heard of a mainframe system being hacked??? Mainframes are one of the most secure data installations ever&lt;/p&gt;&lt;p&gt;13. You cannot buy the mainframe OS, but u’ll have to pay a license to use it. The cost?? cool ….. 1.5 crores a year.&lt;/p&gt;&lt;p&gt;14. Finally, mainframes today r the most preferred data servers for even the most hi-fi of the organizations!&lt;/p&gt;&lt;p&gt;15. So far no virus has been attacked Mainframes&lt;/p&gt;&lt;p&gt;16. Most of the peoples working on Mainframe had never seen the mainframe&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-6326763023783229325?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/6326763023783229325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/6326763023783229325'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/real-facts-about-mainframe-16-th-is_18.html' title='REAL facts about Mainframe - 16 TH IS REALY TRUE'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-5382509618576344201</id><published>2006-12-18T08:59:00.000+05:30</published><updated>2009-02-14T11:44:42.597+05:30</updated><title type='text'>REAL facts about Mainframe - 16 TH IS REALY TRUE</title><content type='html'>&lt;p&gt;&lt;strong&gt;REAL facts about Mainframe - 16 TH IS REALY TRUE&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1. The mainframes hold approximately ” 70 % ” of the entire data stored in this planet&lt;/p&gt;&lt;p&gt;2. The latest ones can support over 25,000 users&lt;/p&gt;&lt;p&gt;3. They can support devices spread over 26 miles using fibre optics&lt;/p&gt;&lt;p&gt;4. The size of the “basic” OS is about 14 GB&lt;/p&gt;&lt;p&gt;5. This OS comes in about 57 magnetic tapes, But latest with 4 tapes&lt;/p&gt;&lt;p&gt;6. It takes ATLEAST a month to install and customize a basic mainframe OS configuration&lt;/p&gt;&lt;p&gt;7. It takes around 3 full days for a mainframe to get up and running&lt;/p&gt;&lt;p&gt;8. Basic configuration for development environment costs 8 crores (hardware + Software)&lt;/p&gt;&lt;p&gt;9. A full team of qualified system operators are always required to be on stand by to ensure successful operation10. Earlier mainframes were provided with cooling pipes through which cold water was passed to cool the system - TCS have one in Chennai facility&lt;/p&gt;&lt;p&gt;11. Recent mainframes have variable speed fans in the cabinet to keep it cool&lt;/p&gt;&lt;p&gt;12. Have u ever heard of a mainframe system being hacked??? Mainframes are one of the most secure data installations ever&lt;/p&gt;&lt;p&gt;13. You cannot buy the mainframe OS, but u’ll have to pay a license to use it. The cost?? cool ….. 1.5 crores a year.&lt;/p&gt;&lt;p&gt;14. Finally, mainframes today r the most preferred data servers for even the most hi-fi of the organizations!&lt;/p&gt;&lt;p&gt;15. So far no virus has been attacked Mainframes&lt;/p&gt;&lt;p&gt;16. Most of the peoples working on Mainframe had never seen the mainframe&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-5382509618576344201?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/5382509618576344201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/5382509618576344201'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/real-facts-about-mainframe-16-th-is.html' title='REAL facts about Mainframe - 16 TH IS REALY TRUE'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-7555292045780918340</id><published>2006-12-18T08:57:00.001+05:30</published><updated>2009-02-14T11:44:42.598+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JCL'/><title type='text'>How to initiate 2nd JCL in first jcl</title><content type='html'>&lt;p&gt;How to initiate 2nd JCL i.e u mean to say by scheduling or thru any internal commands in first JCL?&lt;/p&gt;&lt;p&gt;This can be possible by 4 ways.&lt;/p&gt;&lt;ol&gt;&lt;li&gt; Use batch TSO (IKJEFT01) with the SUBMIT command.&lt;/li&gt;&lt;li&gt; Call REXX from a job to submit other jobs.&lt;/li&gt;&lt;li&gt; Use other programming language to submit job from a job (like COBOL, NATURAL, Assembler etc.).&lt;/li&gt;&lt;li&gt;Make your last step an IEBGENER that its input will be the next job, and the output is allocated to INTRDR.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;u&gt;way 1&lt;/u&gt;&lt;/p&gt;&lt;p&gt;Here is the JCL to invoke two jobs..&lt;/p&gt;&lt;p&gt;//SUBMIT EXEC PGM=IKJEFT01,PARM=”,DYNAMNBR=50,REGION=4096K&lt;/p&gt;&lt;p&gt;//SYSTSPRT DD SYSOUT=*&lt;/p&gt;&lt;p&gt;//SYSTSIN DD *PROF PREFIX(TSORSAM)&lt;/p&gt;&lt;p&gt;   SUBMIT ‘TSORSAM.TRG.JCL(job1)’&lt;/p&gt;&lt;p&gt;   SUBMIT ‘TSORSAM.TRG.JCL(job2)’&lt;/p&gt;&lt;p&gt;/*&lt;/p&gt;&lt;p&gt;//&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-7555292045780918340?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/7555292045780918340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/7555292045780918340'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/how-to-initiate-2nd-jcl-in-first-jcl_18.html' title='How to initiate 2nd JCL in first jcl'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-4717812031236256137</id><published>2006-12-18T08:57:00.000+05:30</published><updated>2009-02-14T11:44:42.598+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JCL'/><title type='text'>How to initiate 2nd JCL in first jcl</title><content type='html'>&lt;p&gt;How to initiate 2nd JCL i.e u mean to say by scheduling or thru any internal commands in first JCL?&lt;/p&gt;&lt;p&gt;This can be possible by 4 ways.&lt;/p&gt;&lt;ol&gt;&lt;li&gt; Use batch TSO (IKJEFT01) with the SUBMIT command.&lt;/li&gt;&lt;li&gt; Call REXX from a job to submit other jobs.&lt;/li&gt;&lt;li&gt; Use other programming language to submit job from a job (like COBOL, NATURAL, Assembler etc.).&lt;/li&gt;&lt;li&gt;Make your last step an IEBGENER that its input will be the next job, and the output is allocated to INTRDR.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;u&gt;way 1&lt;/u&gt;&lt;/p&gt;&lt;p&gt;Here is the JCL to invoke two jobs..&lt;/p&gt;&lt;p&gt;//SUBMIT EXEC PGM=IKJEFT01,PARM=”,DYNAMNBR=50,REGION=4096K&lt;/p&gt;&lt;p&gt;//SYSTSPRT DD SYSOUT=*&lt;/p&gt;&lt;p&gt;//SYSTSIN DD *PROF PREFIX(TSORSAM)&lt;/p&gt;&lt;p&gt;   SUBMIT ‘TSORSAM.TRG.JCL(job1)’&lt;/p&gt;&lt;p&gt;   SUBMIT ‘TSORSAM.TRG.JCL(job2)’&lt;/p&gt;&lt;p&gt;/*&lt;/p&gt;&lt;p&gt;//&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-4717812031236256137?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/4717812031236256137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/4717812031236256137'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/how-to-initiate-2nd-jcl-in-first-jcl.html' title='How to initiate 2nd JCL in first jcl'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-7335568949128758766</id><published>2006-12-18T08:56:00.001+05:30</published><updated>2009-02-14T11:44:42.598+05:30</updated><title type='text'>Maximun Steps in a jobs is 255... why ?</title><content type='html'>&lt;strong&gt;Steps in a Job&lt;/strong&gt;&lt;br /&gt;A job can be simple or complex; it can consist of one step or of many steps that call many in-stream and cataloged procedures. A job can consist of up to 255 job steps, including all steps in any procedures that the job calls. Specification of a greater number of steps produces a JCL error.&lt;br /&gt;The operating system maintains, by design, counters of 1 byte for the unique step ID (since a step can contain duplicate names, or no name). The max unsigned value that can be contained in 1 byte is x’FF’ = 255.&lt;br /&gt;But if there is a situation, where we need to code more than 255 steps in a JOB then we need to split the jcl into two jcls , at the end of the first jcl check the condition code and initiate the second jcl.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-7335568949128758766?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/7335568949128758766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/7335568949128758766'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/maximun-steps-in-jobs-is-255-why_18.html' title='Maximun Steps in a jobs is 255... why ?'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-7773053373248498314</id><published>2006-12-18T08:56:00.000+05:30</published><updated>2009-02-14T11:44:42.598+05:30</updated><title type='text'>Maximun Steps in a jobs is 255... why ?</title><content type='html'>&lt;strong&gt;Steps in a Job&lt;/strong&gt;&lt;br /&gt;A job can be simple or complex; it can consist of one step or of many steps that call many in-stream and cataloged procedures. A job can consist of up to 255 job steps, including all steps in any procedures that the job calls. Specification of a greater number of steps produces a JCL error.&lt;br /&gt;The operating system maintains, by design, counters of 1 byte for the unique step ID (since a step can contain duplicate names, or no name). The max unsigned value that can be contained in 1 byte is x’FF’ = 255.&lt;br /&gt;But if there is a situation, where we need to code more than 255 steps in a JOB then we need to split the jcl into two jcls , at the end of the first jcl check the condition code and initiate the second jcl.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-7773053373248498314?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/7773053373248498314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/7773053373248498314'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/maximun-steps-in-jobs-is-255-why.html' title='Maximun Steps in a jobs is 255... why ?'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-3151158254856703782</id><published>2006-12-18T08:55:00.003+05:30</published><updated>2009-02-14T11:44:42.599+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SMP/E'/><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><title type='text'>What is SMP/E?</title><content type='html'>What is SMP/E?&lt;br /&gt;&lt;br /&gt;System Modification Program Extended. An element of z/OS that is used to install most software products. SMP/E is the basic tool for installing and maintaining software in z/OS and OS/390 systems and subsystems and delivered in executable (OCO) format, with no source code. Most notably, the ability to test a new version of software (or maintenance to an old one) on a production system while the old version is simultaneously being used by production applications.&lt;br /&gt;SMP/E can be run either using batch jobs or using dialogs under Interactive System Productivity Facility/Program Development Facility (ISPF/PDF). SMP/E dialogs help you interactively query the SMP/E database, as well as create and submit jobs to process SMP/E commands.&lt;br /&gt;&lt;a href="http://www14.software.ibm.com/webapp/download/search.jsp?go=y&amp;amp;rs=smpe" modo="false"&gt;IBM SMP/E for z/OS and OS/390 V3R1 now available stand-alone.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-3151158254856703782?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/3151158254856703782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/3151158254856703782'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/what-is-smpe_18.html' title='What is SMP/E?'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-7820014247879643285</id><published>2006-12-18T08:55:00.002+05:30</published><updated>2009-02-14T11:44:42.599+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='z/os'/><title type='text'>Big Iron–IBM Previews z/OS 1.8 for Mainframe Shops</title><content type='html'>&lt;p&gt;There are a million little tweaks in this announcement, and one of them undoubtedly will affect you.&lt;/p&gt;&lt;p&gt;This one affects everyone, though. With z/OS V1.8, a z/OS image will be able to support up to 4 TB of real memory–not that IBM can deliver a mainframe with that much main memory–at least not yet. (Maybe in a year or two.) That 4 TB upper limit for main memory will only be available on the new System z9 mainframes. Initially, it looks like the System z9 will get 512 GB for a single z/OS image when z/OS V1.8 ships, even though the guts of the operating system can support more. (Larger memories will probably be available on a special bid basis, as IBM always allows–for a price.) Older zSeries 990 mainframes will be able to support up to 256 GB of main memory, up from 128 GB. Making more physical memory available will cut down on paging and swapping and allow workloads to grow without thrashing.&lt;/p&gt;&lt;p&gt;Here’s a quick overview of the main features of z/OS V1.8 and its cut-down, lower-priced version for small mainframes. z/OS.e V1.8. As has been the case for the past ten years, IBM is trying to keep the mainframe as the hub of data processing, and with z/OS V1.8, the company is making good on its promises to deliver XML services that are centrally controlled through the mainframe. This forthcoming feature, called z/OS XML System Services, is an XML document parsing engine that has been optimized for the mainframe and is expected to be used by software vendors and middleware makers who are using XML as the glue to hook together pieces in a distributed application. (These are called Service Oriented Architectures nowadays, but it is the same old same old. SOA and APPC-APPN are not really all that different in concept.) In any event, z/OS XML System Services, or z/OS XML for short, will come out in z/OS V1.8 with an assembler language interface, and will be backcast to z/OS V1.7, too. In a future z/OS release, IBM plans to add an interface to the mainframe version of its C/C++ compilers.&lt;br /&gt;z/OS V1.8 will also include a new LDAP server, one that has more affinity with the Parallel Systeplex clustering on mainframes that is very popular at big mainframe shops. IBM is adding caching features to speed up LDAP performance, and will be storing LDAP directory entries in the Unix System Services part of z/OS. And, to the great joy of many, RACF will get support for passwords that are longer than eight characters long, often called pass phrases; passwords in z/OS V1.8 can be as much as 100 characters long, which means you can put in your favorite Shakespeare quote now. On the availability front, the DFSMS hierarchical storage software for z/OS V1.8 will allow fast replication of data sets (what you and I would call a file) to IBM disk arrays and tape drives.&lt;br /&gt;In a statement of direction, IBM warned that z/OS V1.8 would be the last mainframe operating system that would support communication between a Hardware Management Console (HMC) and the Hardware Configuration Definitions (HDC) elements on the mainframe using the APPC features inside the SNA protocol. In 2007, when the next release of z/OS comes out, HMCs will only speak TCP/IP. z/OS V1.8 will also be the last release to have C/C++ IBM Open Class (IOC) dynamic link libraries. Application development support for the C/C++ IOC library was withdrawn with z/OS 1.5, and runtime support will be removed in the release that follows z/OS V1.8 in 2007. If your applications use those libraries, they won’t run.&lt;br /&gt;IBM says that z/OS V1.8 will run on the z800, z890, z900, z900, and System z9 machines, while z/OS.e V1.8 will be supported on the z800 and z890. IBM did not say when z/OS V1.8 would be available, but it seems likely that it will ship this year, and probably whenever the System z9 Integrated Information Processor (zIIP) database engines start rolling out this year.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-7820014247879643285?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/7820014247879643285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/7820014247879643285'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/big-ironibm-previews-zos-18-for_18.html' title='Big Iron–IBM Previews z/OS 1.8 for Mainframe Shops'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-6196066717894234292</id><published>2006-12-18T08:55:00.001+05:30</published><updated>2009-02-14T11:44:42.599+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SMP/E'/><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><title type='text'>What is SMP/E?</title><content type='html'>What is SMP/E?&lt;br /&gt;&lt;br /&gt;System Modification Program Extended. An element of z/OS that is used to install most software products. SMP/E is the basic tool for installing and maintaining software in z/OS and OS/390 systems and subsystems and delivered in executable (OCO) format, with no source code. Most notably, the ability to test a new version of software (or maintenance to an old one) on a production system while the old version is simultaneously being used by production applications.&lt;br /&gt;SMP/E can be run either using batch jobs or using dialogs under Interactive System Productivity Facility/Program Development Facility (ISPF/PDF). SMP/E dialogs help you interactively query the SMP/E database, as well as create and submit jobs to process SMP/E commands.&lt;br /&gt;&lt;a href="http://www14.software.ibm.com/webapp/download/search.jsp?go=y&amp;amp;rs=smpe" modo="false"&gt;IBM SMP/E for z/OS and OS/390 V3R1 now available stand-alone.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-6196066717894234292?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/6196066717894234292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/6196066717894234292'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/what-is-smpe.html' title='What is SMP/E?'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-7620886696322975376</id><published>2006-12-18T08:55:00.000+05:30</published><updated>2009-02-14T11:44:42.599+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='z/os'/><title type='text'>Big Iron–IBM Previews z/OS 1.8 for Mainframe Shops</title><content type='html'>&lt;p&gt;There are a million little tweaks in this announcement, and one of them undoubtedly will affect you.&lt;/p&gt;&lt;p&gt;This one affects everyone, though. With z/OS V1.8, a z/OS image will be able to support up to 4 TB of real memory–not that IBM can deliver a mainframe with that much main memory–at least not yet. (Maybe in a year or two.) That 4 TB upper limit for main memory will only be available on the new System z9 mainframes. Initially, it looks like the System z9 will get 512 GB for a single z/OS image when z/OS V1.8 ships, even though the guts of the operating system can support more. (Larger memories will probably be available on a special bid basis, as IBM always allows–for a price.) Older zSeries 990 mainframes will be able to support up to 256 GB of main memory, up from 128 GB. Making more physical memory available will cut down on paging and swapping and allow workloads to grow without thrashing.&lt;/p&gt;&lt;p&gt;Here’s a quick overview of the main features of z/OS V1.8 and its cut-down, lower-priced version for small mainframes. z/OS.e V1.8. As has been the case for the past ten years, IBM is trying to keep the mainframe as the hub of data processing, and with z/OS V1.8, the company is making good on its promises to deliver XML services that are centrally controlled through the mainframe. This forthcoming feature, called z/OS XML System Services, is an XML document parsing engine that has been optimized for the mainframe and is expected to be used by software vendors and middleware makers who are using XML as the glue to hook together pieces in a distributed application. (These are called Service Oriented Architectures nowadays, but it is the same old same old. SOA and APPC-APPN are not really all that different in concept.) In any event, z/OS XML System Services, or z/OS XML for short, will come out in z/OS V1.8 with an assembler language interface, and will be backcast to z/OS V1.7, too. In a future z/OS release, IBM plans to add an interface to the mainframe version of its C/C++ compilers.&lt;br /&gt;z/OS V1.8 will also include a new LDAP server, one that has more affinity with the Parallel Systeplex clustering on mainframes that is very popular at big mainframe shops. IBM is adding caching features to speed up LDAP performance, and will be storing LDAP directory entries in the Unix System Services part of z/OS. And, to the great joy of many, RACF will get support for passwords that are longer than eight characters long, often called pass phrases; passwords in z/OS V1.8 can be as much as 100 characters long, which means you can put in your favorite Shakespeare quote now. On the availability front, the DFSMS hierarchical storage software for z/OS V1.8 will allow fast replication of data sets (what you and I would call a file) to IBM disk arrays and tape drives.&lt;br /&gt;In a statement of direction, IBM warned that z/OS V1.8 would be the last mainframe operating system that would support communication between a Hardware Management Console (HMC) and the Hardware Configuration Definitions (HDC) elements on the mainframe using the APPC features inside the SNA protocol. In 2007, when the next release of z/OS comes out, HMCs will only speak TCP/IP. z/OS V1.8 will also be the last release to have C/C++ IBM Open Class (IOC) dynamic link libraries. Application development support for the C/C++ IOC library was withdrawn with z/OS 1.5, and runtime support will be removed in the release that follows z/OS V1.8 in 2007. If your applications use those libraries, they won’t run.&lt;br /&gt;IBM says that z/OS V1.8 will run on the z800, z890, z900, z900, and System z9 machines, while z/OS.e V1.8 will be supported on the z800 and z890. IBM did not say when z/OS V1.8 would be available, but it seems likely that it will ship this year, and probably whenever the System z9 Integrated Information Processor (zIIP) database engines start rolling out this year.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-7620886696322975376?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/7620886696322975376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/7620886696322975376'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/big-ironibm-previews-zos-18-for.html' title='Big Iron–IBM Previews z/OS 1.8 for Mainframe Shops'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-2130033154873249192</id><published>2006-12-18T08:52:00.001+05:30</published><updated>2009-02-14T11:44:42.600+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='PSF'/><title type='text'>IBM Virtualises new Print Environments for Mainframe</title><content type='html'>&lt;p&gt;IBM Print Services Facility (PSF) for z/OS version 4 and IBM Infoprint Transform Manager for Linux Version 1, Release 2 include components that can convert the most widely used data formats into Advanced Function Presentation (AFP), packaging them into a portable, print-ready file for delivery to a production print site practically anywhere in the world.&lt;/p&gt;&lt;p&gt;New capabilities included in PSF for z/OS are designed to automatically create and transmit error-free, print-ready files, helping to save time and money for both the sending and receiving print sites. This automated process promises to reduce from days to hours the time it takes to prepare print files and associated resources for transfer between locations. Based on Linux and IBM BladeCenter servers, Infoprint Transform Manager delivers Web-based capabilities to convert print data streams into an industry-standard, reliable and secure AFP environment.&lt;/p&gt;&lt;p&gt;PSF version 4 runs on z/OS V1R4 or later, and z/OS.e V1R4 or later releases. The new AFP Download Plus feature of PSF automates the process of preparing print jobs on z/OS for production printing at another site. In addition to creating a print-ready file for delivery, it can provide increased security through automatic file encryption to protect against unauthorised access to the print data and resources. IBM Print Services Facility (PSF) for z/OS version 4 is scheduled &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-2130033154873249192?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/2130033154873249192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/2130033154873249192'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/ibm-virtualises-new-print-environments_18.html' title='IBM Virtualises new Print Environments for Mainframe'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-2028626999478798516</id><published>2006-12-18T08:52:00.000+05:30</published><updated>2009-02-14T11:44:42.600+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='PSF'/><title type='text'>IBM Virtualises new Print Environments for Mainframe</title><content type='html'>&lt;p&gt;IBM Print Services Facility (PSF) for z/OS version 4 and IBM Infoprint Transform Manager for Linux Version 1, Release 2 include components that can convert the most widely used data formats into Advanced Function Presentation (AFP), packaging them into a portable, print-ready file for delivery to a production print site practically anywhere in the world.&lt;/p&gt;&lt;p&gt;New capabilities included in PSF for z/OS are designed to automatically create and transmit error-free, print-ready files, helping to save time and money for both the sending and receiving print sites. This automated process promises to reduce from days to hours the time it takes to prepare print files and associated resources for transfer between locations. Based on Linux and IBM BladeCenter servers, Infoprint Transform Manager delivers Web-based capabilities to convert print data streams into an industry-standard, reliable and secure AFP environment.&lt;/p&gt;&lt;p&gt;PSF version 4 runs on z/OS V1R4 or later, and z/OS.e V1R4 or later releases. The new AFP Download Plus feature of PSF automates the process of preparing print jobs on z/OS for production printing at another site. In addition to creating a print-ready file for delivery, it can provide increased security through automatic file encryption to protect against unauthorised access to the print data and resources. IBM Print Services Facility (PSF) for z/OS version 4 is scheduled &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-2028626999478798516?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/2028626999478798516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/2028626999478798516'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/ibm-virtualises-new-print-environments.html' title='IBM Virtualises new Print Environments for Mainframe'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-2343946052631094141</id><published>2006-12-18T08:51:00.001+05:30</published><updated>2009-02-14T11:44:42.600+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cobol'/><title type='text'>How to find string length in cobol</title><content type='html'>1) using “Length of” special register&lt;br /&gt;usage : compute len = length of str //gives size of str&lt;br /&gt;2) using “Length” function&lt;br /&gt;usage : compute len = function length(str)&lt;br /&gt;&lt;br /&gt;sample code:————-01 TEXT1 PIC X(40) VALUE ‘THIS IS THE STRING’.&lt;br /&gt;INSPECT FUNCTION REVERSE(TEXT1) TALLYING L FOR LEADING SPACESCOMPUTE L = LENGTH OF TEXT1 - L&lt;br /&gt;&lt;br /&gt;Note: Intrinsic functions were introduced to mainframe COBOL with COBOLII.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-2343946052631094141?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/2343946052631094141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/2343946052631094141'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/how-to-find-string-length-in-cobol_18.html' title='How to find string length in cobol'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-8677993299864540580</id><published>2006-12-18T08:51:00.000+05:30</published><updated>2009-02-14T11:44:42.601+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cobol'/><title type='text'>How to find string length in cobol</title><content type='html'>1) using “Length of” special register&lt;br /&gt;usage : compute len = length of str //gives size of str&lt;br /&gt;2) using “Length” function&lt;br /&gt;usage : compute len = function length(str)&lt;br /&gt;&lt;br /&gt;sample code:————-01 TEXT1 PIC X(40) VALUE ‘THIS IS THE STRING’.&lt;br /&gt;INSPECT FUNCTION REVERSE(TEXT1) TALLYING L FOR LEADING SPACESCOMPUTE L = LENGTH OF TEXT1 - L&lt;br /&gt;&lt;br /&gt;Note: Intrinsic functions were introduced to mainframe COBOL with COBOLII.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-8677993299864540580?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/8677993299864540580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/8677993299864540580'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/how-to-find-string-length-in-cobol.html' title='How to find string length in cobol'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-2869425087111528707</id><published>2006-12-18T08:50:00.001+05:30</published><updated>2009-02-14T11:44:42.601+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='Mainframe'/><title type='text'>IBM starts shipping latest mainframe computers</title><content type='html'>SAN FRANCISCO: IBM, the world’s biggest computer company, said it began shipping the latest version of its mainframe computer today, helping drive up revenue as customers switch to the new device.&lt;br /&gt;System z9, the ninth generation of IBM’s modern z-series mainframe, has more than twice the capabilities of its predecessor, The computer can handle 1 billion transactions per day. Fully configured versions have 54 chips and 18 billion transistors. Prices start at around $1 million apiece.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-2869425087111528707?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/2869425087111528707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/2869425087111528707'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/ibm-starts-shipping-latest-mainframe_18.html' title='IBM starts shipping latest mainframe computers'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-1192057670335074084</id><published>2006-12-18T08:50:00.000+05:30</published><updated>2009-02-14T11:44:42.601+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='Mainframe'/><title type='text'>IBM starts shipping latest mainframe computers</title><content type='html'>SAN FRANCISCO: IBM, the world’s biggest computer company, said it began shipping the latest version of its mainframe computer today, helping drive up revenue as customers switch to the new device.&lt;br /&gt;System z9, the ninth generation of IBM’s modern z-series mainframe, has more than twice the capabilities of its predecessor, The computer can handle 1 billion transactions per day. Fully configured versions have 54 chips and 18 billion transistors. Prices start at around $1 million apiece.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-1192057670335074084?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/1192057670335074084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/1192057670335074084'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/ibm-starts-shipping-latest-mainframe.html' title='IBM starts shipping latest mainframe computers'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116610138581682230</id><published>2006-12-14T18:24:00.000+05:30</published><updated>2006-12-14T18:33:05.830+05:30</updated><title type='text'>Dynamic Sql</title><content type='html'>&lt;p&gt;continuation of old post &lt;a href="http://rameshdb2.blogspot.com/2006/07/what-is-static-dynamic-sql.html"&gt;dynamic sql&lt;/a&gt;  Read the previos post before going down...&lt;/p&gt;&lt;p&gt;&lt;a name="_Toc391978801"&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;Fixed-List SELECT&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Until now, we have been unable to retrieve rows from DB2 tables using dynamic SQL. The next two classes of dynamic SQL provide this capability. The first and simplest is fixed-list SELECT.&lt;br /&gt;You can use a fixed-list SELECT statement to explicitly prepare and execute SQL SELECT statements when the columns to be retrieved by the application program are known and unchanging. &lt;/p&gt;&lt;p&gt;If you do not know in advance the columns that will be accessed, you must use a varying-list SELECT statement.&lt;/p&gt;&lt;p&gt;The following pseudo-code listing shows a fixed-list SELECT statement:&lt;/p&gt;&lt;p&gt;SQL to execute: SELECT  PROJNO, PROJNAME, RESPEMP    FROM    DSN8810.PROJ    WHERE   PROJNO   = ?    AND     PRSTDATE = ?&lt;/p&gt;&lt;p&gt;&lt;span style="color:#cc6600;"&gt;    &lt;/span&gt;&lt;span style="color:#000000;"&gt;Move the "SQL to execute" to STRING-VARIABLE&lt;br /&gt;    EXEC SQL DECLARE CSR2 CURSOR FOR FLSQL;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;    EXEC SQL PREPARE FLSQL FROM :STRING-VARIABLE; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;   EXEC SQL OPEN CSR2 USING :TVAL1, :TVAL2;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;      &lt;loop&gt;&lt;br /&gt;   EXEC SQL   FETCH CSR2 INTO :PROJNO, :PROJNAME, :RESPEMP; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;   EXEC SQL CLOSE CSR2;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116610138581682230?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116610138581682230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116610138581682230'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/dynamic-sql.html' title='Dynamic Sql'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116555685811428644</id><published>2006-12-08T11:00:00.000+05:30</published><updated>2006-12-08T11:17:38.176+05:30</updated><title type='text'>Load Utility</title><content type='html'>&lt;p&gt;what i learnt today is learning from other's jobs..... hmm no task like this is for me ?? learning  come's only thru experience.....same like life...ithu manageruku puriya maataikudhu...&lt;/p&gt;&lt;p&gt;The LOAD utility is used to batch load data into DB2 tables. During this process LOAD performs all necessary data conversions (e.g., character to date format) and error processing (e.g., rejecting records with duplicate keys). Discarded input records are written to a sequential file, which can subsequently be examined to determine the reason or reasons for rejection. &lt;/p&gt;&lt;p&gt;The LOAD utility will always produce a return code of at least &lt;span style="color:#990000;"&gt;'04'&lt;/span&gt; because a COPY is required following a LOAD. &lt;/p&gt;&lt;p&gt;&lt;span style="color:#000099;"&gt;Reason:&lt;/span&gt; &lt;/p&gt;&lt;p&gt;While loading data into table db2 creates log entry for each record insertion... This makes an overflow to the log table, So mostly we give LOG_NO option = Yes. Db2 requires us to create an image copy since we skip the log entry... Thus it gives the return code 04 and set the status as  "copy pending".. This prevents further updation of data from the table...u can only browse the records from the table&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000099;"&gt;Standard:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#006600;"&gt;Always specify LOG NO and ENFORCE NO when loading a table. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#006600;"&gt;Execute an image copy of the table space after it has been loaded to remove the "Copy pending" status. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#006600;"&gt;(or) Execute Repair utility against the table space to reset the copy pending status&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#006600;"&gt;Execute the CHECK utility against the table space after it has been loaded to remove the 'Check pending' status. (If the table has RI associated with it) &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116555685811428644?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116555685811428644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116555685811428644'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/load-utility.html' title='Load Utility'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116546893920171002</id><published>2006-12-07T10:47:00.000+05:30</published><updated>2006-12-07T10:52:19.213+05:30</updated><title type='text'>Chasing Exec Sql &amp; EXEC CICS</title><content type='html'>Next phase is started for a development proj.... Today i talked to the manager for online and db2 projects...   He said that it's too late ...I missed now also.... Still chasing ... when will i get u exec cics &amp; exec sql ??&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116546893920171002?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116546893920171002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116546893920171002'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/chasing-exec-sql-exec-cics.html' title='Chasing Exec Sql &amp; EXEC CICS'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116523455593909834</id><published>2006-12-04T17:23:00.000+05:30</published><updated>2006-12-04T17:45:56.086+05:30</updated><title type='text'>Complex join condition</title><content type='html'>&lt;strong&gt;Complex join condition&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;SELECT PART, SUPPLIER, PRODUCTS.PROD#, PRODUCT, PRICE&lt;br /&gt;FROM PARTS RIGHT OUTER JOIN PRODUCTS&lt;br /&gt;                            ON PARTS.PROD# = PRODUCTS.PROD#&lt;br /&gt;                             AND PRODUCTS.PRICE&gt;10.00;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#003300;"&gt;The rows from the product's table still list... even if the product's(30,505) price is less than 10...&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#003300;"&gt;It's corresponding part rows will be set to NULL(consider as unmatched)...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The result set is&lt;br /&gt;PART SUPPLIER PROD# PRODUCT PRICE&lt;br /&gt;======= ============ ===== ======&lt;br /&gt;WIRE ACWF 10 GENERATOR 45.75&lt;br /&gt;MAGNETS BATEMAN 10 GENERATOR 45.75&lt;br /&gt;BLADES ACE_STEEL 205 SAW 18.90&lt;br /&gt;---------- ------------ 30 RELAY 7.55&lt;br /&gt;---------- ------------ 505 SCREWDRIVER 3.70&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;ON clause with "where" predicate&lt;/strong&gt;&lt;br /&gt;SQL rules dictate that the result of a SELECT statement should be evaluated in this order:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;FROM &lt;/li&gt;&lt;li&gt;WHERE &lt;/li&gt;&lt;li&gt;GROUP BY &lt;/li&gt;&lt;li&gt;HAVING &lt;/li&gt;&lt;li&gt;SELECT&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;A join operation is part of a FROM clause&lt;/p&gt;&lt;p&gt;if we have join operation &amp;amp; where clause then following steps takes place....&lt;br /&gt;Step1: Db2 performs the join operation first and get the result set R1.&lt;br /&gt;Step2: Then the "where clause" predicate is applied to the result set R1 and get the final result set R.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116523455593909834?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116523455593909834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116523455593909834'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/12/complex-join-condition.html' title='Complex join condition'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116281559873642034</id><published>2006-11-06T17:45:00.000+05:30</published><updated>2006-11-06T17:49:58.763+05:30</updated><title type='text'>IN predicate in host variable</title><content type='html'>&lt;p&gt;Consider&lt;/p&gt;&lt;p&gt;hv = "'A', 'B', 'C'";&lt;/p&gt;&lt;p&gt;SELECT * FROM TAB1 WHERE COL1 IN :hv      This doesn't work.&lt;/p&gt;&lt;p&gt;so we can have like this...&lt;/p&gt;&lt;p&gt;1) SELECT * FROM TAB1 WHERE COL1 IN (:hv1,:hv2,:hv3)&lt;br /&gt;if the host variable has different number of values(each time) then we can't use the above syntax.&lt;/p&gt;&lt;p&gt;The following will do...&lt;br /&gt;hv = ",A,B,C,";&lt;/p&gt;&lt;p&gt;2) SELECT * FROM TAB1 WHERE  LOCATE(','COL1',',:hv) &gt; 0&lt;/p&gt;&lt;p&gt;But this form will not use an index on COL1.&lt;br /&gt;Since i dont have exp with embed sql, I have asked many developers.... all says that that they use the first form... &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116281559873642034?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116281559873642034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116281559873642034'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/11/in-predicate-in-host-variable.html' title='IN predicate in host variable'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116248009877969180</id><published>2006-11-02T20:35:00.000+05:30</published><updated>2006-11-03T12:30:32.396+05:30</updated><title type='text'>Deadly Sad</title><content type='html'>Today i was attended db2 performance tuning class......&lt;br /&gt;       &lt;span style="color:#cc0000;"&gt;very sad :-(&lt;/span&gt; Not even code a single db2 query till (1.6 yrs as developer)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116248009877969180?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116248009877969180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116248009877969180'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/11/deadly-sad.html' title='Deadly Sad'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116245327334824490</id><published>2006-11-02T13:06:00.000+05:30</published><updated>2006-11-02T13:11:13.360+05:30</updated><title type='text'>String comparison - Solution</title><content type='html'>&lt;p&gt;String Comparison - &lt;a href="Refer" topic="/com.ibm.db2.doc.sqlref/bjnrmstr87.htm"&gt;previous post&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;At last i have found the answer !&lt;/p&gt;&lt;p&gt;Solution: Before comparison, our shorter strings (blank space, double space, triple space) are padded with blanks... So all the constraint values have 10 blank spaces(All queries are same)&lt;/p&gt;&lt;p&gt;We have given 6 blank spaces in company for the 3rd and 4th record. How this matches ??&lt;br /&gt;I think db2 will consider the whole column as a blank string even if we give any number of spaces.&lt;/p&gt;&lt;p&gt;Thus the sql fetches the 3rd and 4th record :-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116245327334824490?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116245327334824490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116245327334824490'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/11/string-comparison-solution.html' title='String comparison - Solution'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116238367541608109</id><published>2006-11-01T17:39:00.000+05:30</published><updated>2006-11-01T18:13:58.810+05:30</updated><title type='text'>Sql teaser : predicate and Null value</title><content type='html'>&lt;span style="color:#003300;"&gt;Sql teaser : predicate and Null value&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Last_Name First_Name Company&lt;br /&gt;----------------------------------&lt;br /&gt;AAAAAA BBBBBB COMP1&lt;br /&gt;CCCCCC DDDDDD COMP2&lt;br /&gt;GGGGGG HHHHHH COMP3&lt;br /&gt;JJJJJJ KKKKKK ' ' (six blank spaces)&lt;br /&gt;XXXXXX YYYYYY ' ' (six blank spaces)&lt;br /&gt;LLLLLL MMMMM Null&lt;br /&gt;NNNNNN OOOOOO Null&lt;br /&gt;&lt;br /&gt;SELECT * FROM SQLTSR.TEST_TABLE WHERE COMPANY &lt;&gt; ' ' ;&lt;br /&gt;&lt;br /&gt;Last_Name First_Name Company&lt;br /&gt;-----------------------------------&lt;br /&gt;AAAAAA BBBBBB COMP1&lt;br /&gt;CCCCCC DDDDDD COMP2&lt;br /&gt;GGGGGG HHHHHH COMP3&lt;br /&gt;&lt;br /&gt;My Answer : Here we are having the constraint for the column 'company' . The last two records that we inserted has NULL values for this field.&lt;br /&gt;The result of predicate (COMPANY &lt;&gt; ' ') for the last two rows is unknown, Since that record doesn't have values to compare.&lt;br /&gt;&lt;br /&gt;Note: DB2 evaluates a predicate for each row as true, false, or unknown. Results are unknown only if an operand is null.&lt;br /&gt;&lt;br /&gt;good link - Null value in Db2 &lt;a href="http://www.craigsmullins.com/bp7.htm"&gt;http://www.craigsmullins.com/bp7.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000066;"&gt;My Question : ?????? predicate and blank space&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. All the following query returns the same result. why ?&lt;br /&gt;SELECT * FROM SQLTSR.TEST_TABLE WHERE COMPANY = ''; (no blank space)&lt;no&gt;&lt;no&gt;&lt;br /&gt;SELECT * FROM SQLTSR.TEST_TABLE WHERE COMPANY = ' '; (single space&lt;single&gt;&lt;single&gt;&lt;br /&gt;SELECT * FROM SQLTSR.TEST_TABLE WHERE COMPANY = ' '; (triple space)&lt;triple&gt;&lt;triple&gt;&lt;br /&gt;Result:&lt;br /&gt;JJJJJJ KKKKKK ' ' (blank)&lt;br /&gt;XXXXXX YYYYYY ' '&lt;br /&gt;&lt;br /&gt;Answer : ???? &lt;a href="http://photos1.blogger.com/blogger/6676/1236/1600/images3.jpg"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116238367541608109?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116238367541608109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116238367541608109'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/11/sql-teaser-predicate-and-null-value.html' title='Sql teaser : predicate and Null value'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116230836543083279</id><published>2006-10-31T20:51:00.000+05:30</published><updated>2006-10-31T20:56:05.556+05:30</updated><title type='text'>Blog Search</title><content type='html'>This blog is listed in blog search &lt;a href="http://search.blogger.com"&gt;http://search.blogger.com&lt;/a&gt;&lt;br /&gt;i just gave "db2" in search dialog... It's listing my db2 blog in 5th place.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116230836543083279?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116230836543083279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116230836543083279'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/10/blog-search.html' title='Blog Search'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116218688145314838</id><published>2006-10-30T11:07:00.000+05:30</published><updated>2006-10-30T11:11:21.463+05:30</updated><title type='text'>spread Linux to the "last mile"?</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/6676/1236/1600/freedisks_button_1.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6676/1236/400/freedisks_button_1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.freelinuxdisk.org/"&gt;http://www.freelinuxdisk.org/&lt;/a&gt;for the free disks. &lt;/p&gt;The mission is "To help spread Linux and open source software around the world".&lt;br /&gt;&lt;br /&gt;Please have this link in ur Blogs to spread linux&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116218688145314838?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.freelinuxdisk.org/' title='spread Linux to the &quot;last mile&quot;?'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116218688145314838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116218688145314838'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/10/spread-linux-to-last-mile.html' title='spread Linux to the &quot;last mile&quot;?'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116108687300586348</id><published>2006-10-17T17:21:00.000+05:30</published><updated>2006-10-17T17:37:53.543+05:30</updated><title type='text'>Quantified predicate in a subquery: ALL, ANY, or SOME</title><content type='html'>&lt;span style="color:#003300;"&gt;Quantified predicate in a subquery: ALL, ANY, or SOME in Db2 V8.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The number of columns and rows that the subquery can return for a quantified predicate depends on the type of quantified predicate:&lt;br /&gt;1.  For = SOME, = ANY, or &lt;&gt; ALL, the subquery can return one or many rows and one or many columns. The number of columns in the result table must match the number of columns on the left side of the operator.&lt;br /&gt;2.  For all other quantified predicates, the subquery can return one or many rows, but no more than one column.&lt;br /&gt;&lt;strong&gt;Using the ALL predicate&lt;/strong&gt;&lt;br /&gt;           &lt;span style="color:#000066;"&gt;WHERE column &gt; ALL (subquery)&lt;/span&gt;&lt;br /&gt;To satisfy this WHERE clause, the column value must be greater than all of the values that the subquery returns. A subquery that returns an empty result table satisfies the predicate.&lt;br /&gt;&lt;br /&gt;          &lt;span style="color:#000066;"&gt;WHERE (column1, column1, ... columnn) &lt;&gt; ALL (subquery)&lt;/span&gt;&lt;br /&gt;To satisfy this WHERE clause, each column value must be unequal to all of the values in the corresponding column of the result table that the subquery returns. A subquery that returns an empty result table satisfies the predicate.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using the ANY or SOME predicate&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;         &lt;span style="color:#000066;"&gt;WHERE expression &gt; ANY (subquery)&lt;/span&gt;&lt;br /&gt;To satisfy this WHERE clause, the value in the expression must be greater than at least one of the values (that is, greater than the lowest value) that the subquery returns. A subquery that returns an empty result table does not satisfy the predicate.&lt;br /&gt;         &lt;span style="color:#000066;"&gt;WHERE (column1, column1, ... columnn) = SOME (subquery)&lt;/span&gt;&lt;br /&gt;To satisfy this WHERE clause, each column value must be equal to at least one of the values in the corresponding column of the result table that the subquery returns. A subquery that returns an empty result table does not satisfy the predicate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116108687300586348?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.db2.doc.apsg/bjnqmstr62.htm' title='Quantified predicate in a subquery: ALL, ANY, or SOME'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116108687300586348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116108687300586348'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/10/quantified-predicate-in-subquery-all.html' title='Quantified predicate in a subquery: ALL, ANY, or SOME'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116038883813940486</id><published>2006-10-09T15:39:00.000+05:30</published><updated>2006-10-09T15:43:58.153+05:30</updated><title type='text'>Child Table</title><content type='html'>&lt;p&gt;Actually i thought of posting this, But i posted for primary key...&lt;/p&gt;&lt;p&gt;2) Run this query to get the child table&lt;br /&gt;SELECT CREATOR AS CREATOR ,TBNAME AS CHILD_TABLE&lt;br /&gt;                 ,RELNAME AS CONSTRAINT_NAME&lt;br /&gt;                 FROM SYSIBM.SYSRELS&lt;br /&gt;  WHERE REFTBNAME LIKE 'EMPLOYEE'&lt;/p&gt;&lt;p&gt;It gives only the child table of employee...if we want to have complete relationships between tables... we can use recursive sql... if it works i will post that in a week.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116038883813940486?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116038883813940486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116038883813940486'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/10/child-table.html' title='Child Table'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-116038627731957438</id><published>2006-10-09T14:48:00.000+05:30</published><updated>2006-10-09T15:01:17.330+05:30</updated><title type='text'>Primary Key</title><content type='html'>&lt;p&gt;1) Run this Query to get the Primary Keys&lt;/p&gt;&lt;p&gt;SELECT IDX.NAME ,IDX.CREATOR ,KEYI.COLNAME,IDX.TBNAME  &lt;/p&gt;&lt;p&gt;                     FROM SYSIBM.SYSINDEXES IDX&lt;br /&gt;                                  ,SYSIBM.SYSKEYS KEYI &lt;/p&gt;&lt;p&gt;WHERE KEYI.IXNAME = IDX.NAME&lt;br /&gt;               AND KEYI.IXCREATOR = IDX.CREATOR&lt;br /&gt;               AND IDX.TBNAME = 'EMPLOYEE'&lt;br /&gt;               AND IDX.UNIQUERULE = 'P' &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-116038627731957438?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116038627731957438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/116038627731957438'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/10/primary-key.html' title='Primary Key'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115890208924086605</id><published>2006-09-22T10:36:00.000+05:30</published><updated>2006-09-23T18:20:25.140+05:30</updated><title type='text'>Db2 8.0 Environment</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/6676/1236/1600/Db2%20Environment.gif"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6676/1236/400/Db2%20Environment.png" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115890208924086605?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www-128.ibm.com/developerworks/db2/library/techarticle/0301chong/0301chong.html#introduction' title='Db2 8.0 Environment'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115890208924086605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115890208924086605'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/09/db2-80-environment.html' title='Db2 8.0 Environment'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115822468272063578</id><published>2006-09-14T14:29:00.000+05:30</published><updated>2006-09-18T13:33:34.350+05:30</updated><title type='text'>Which index is best to use ? Experts answer</title><content type='html'>&lt;span style="color:#003300;"&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/span&gt; If I have five indexes on a table, what is the best way to determine if all, some or none of the indexes are being used?&lt;br /&gt;&lt;span style="color:#003300;"&gt;&lt;strong&gt;Craigmullins Answer:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;The best approach would be to make sure you have run EXPLAIN on all of your production plans and packages. Then examine the PLAN_TABLE output for those indexes.&lt;br /&gt;For example:SELECT *FROM my.PLAN_TABLEWHERE ACCESSNAME IN&lt;br /&gt;                       (put your list of indexes here);&lt;br /&gt;Of course, this will not show the dynamic SQL that uses any of these indexes. There are tools on the market that can help you to gather SQL usage statistics and access path information for both static and dynamic SQL statements.&lt;br /&gt;You might consider acquiring one of these tools if you use a lot of dynamic SQL. One such offering is NEON Enterprise Software’s &lt;a href="http://www.neonesoft.com/SPX.shtm"&gt;SQL Performance Expert &lt;/a&gt;solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115822468272063578?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115822468272063578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115822468272063578'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/09/which-index-is-best-to-use-experts.html' title='Which index is best to use ? Experts answer'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115771627946930170</id><published>2006-09-08T17:16:00.000+05:30</published><updated>2006-09-13T18:52:24.486+05:30</updated><title type='text'>Certification Exam materials</title><content type='html'>follow the link for documents(700,703).....&lt;br /&gt;&lt;br /&gt;link:  &lt;a href="http://www.google.com/base/a/1384341/D13496836111708406202"&gt;Certification&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115771627946930170?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115771627946930170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115771627946930170'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/09/certification-exam-materials.html' title='Certification Exam materials'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115754821464817967</id><published>2006-09-07T18:38:00.000+05:30</published><updated>2006-09-07T18:35:21.686+05:30</updated><title type='text'>Data sampling in SQL queries</title><content type='html'>&lt;span style="COLOR: rgb(0,0,102)"&gt;Sampling is supported in DB2 UDB V8.1.2 with the new TABLESAMPLE clause, which has been added to the FROM clause of the SQL subselect.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;DB2 provides two methods of sampling: &lt;span style="COLOR: rgb(0,102,0)"&gt;row-level sampling and block-level sampling.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: rgb(0,102,0)"&gt;Row-level Bernoulli sampling&lt;/span&gt;&lt;br /&gt;Row-level Bernoulli sampling gets a sample of P percent of the table rows by means of a SARGable predicate that includes each row in the sample with a probability of P/100 and excludes it with a probability of 1-P/100. Row-level Bernoulli sampling always gets a valid, random sample regardless of data clustering. However, the performance of this type of sampling is very poor if no index is available because every row must be retrieved and the sampling predicate applied to it.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: rgb(0,102,0)"&gt;System page-level sampling&lt;/span&gt;&lt;br /&gt;System page-level sampling is similar to row-level sampling, except that pages are sampled and not rows. A page is included in the sample with a probability of P/100. If a page is included, all of the rows in that page are included. Performance of system page-level sampling is excellent because only one I/O is required for each page that is included in the sample. Compared with no sampling, page-level sampling improves performance by orders of magnitude. However, the accuracy of aggregate estimates tends to be worse under page-level sampling than row-level sampling.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: rgb(0,102,0)"&gt;Specifying the sampling method&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To execute a query on a random sample of data from a table, you can use the TABLESAMPLE clause of the table-reference clause in a SQL statement. To specify the method of sampling, use the keywords BERNOULLI or SYSTEM.&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,102)"&gt;(e.g) select avg(salary) as avg_salary from staff tablesample bernoulli(n)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where n is the sampling rate, whose value ranges from 1 to 100, in increments of 1.&lt;br /&gt;&lt;br /&gt;The TABLESAMPLE clause allows you to specify the percentage of a table that is to be sampled during query processing. The value that you specify here is called the "sampling percentage" or the "sampling rate". For example, if the sampling rate is set to 0.1, then only 1/10 of 1% of the data will be sampled. This would mean that in a 10,000-row table, only 10 rows (approximately) would be accessed.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#003300;"&gt; &lt;em&gt;Welcome &lt;a href="http://sramesh.wordpress.com"&gt;Hybrid blog &lt;/a&gt;- Mainframe,CICS,Cobol,REX,Windows,Linux + Entertainment (what can i have ?)&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://sramesh.wordpress.com"&gt;http://sramesh.wordpress.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think i am wasting time in blog.... 50 - 50 (Tech + Business domain) will be good... Hey ramesh  keep concentrate on domain also.... otherwise the world will chuck u out.......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115754821464817967?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.databasejournal.com/features/db2/article.php/3328041' title='Data sampling in SQL queries'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115754821464817967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115754821464817967'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/09/data-sampling-in-sql-queries.html' title='Data sampling in SQL queries'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115754158237802767</id><published>2006-09-06T16:43:00.000+05:30</published><updated>2006-09-06T16:49:42.400+05:30</updated><title type='text'>Random number generator - Numeric &amp; Alpha Numeric</title><content type='html'>&lt;p&gt;The &lt;span style="color:#006600;"&gt;RAND(arg)&lt;/span&gt; function returns a random floating-point value between 0 and 1.&lt;br /&gt;An argument can be used as an optional seed value.&lt;br /&gt;If an argument is specified, it must be an integer (SMALLINT or INTEGER)&lt;br /&gt;between 0 and 2 147 483 646.&lt;br /&gt;The result of the function is a double precision floating-point number.&lt;br /&gt;The result can be null; if the argument is null, the result is the null value.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="color:#006600;"&gt;Random number&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;Result as number... Range: (0 to 99999999999), Range (0 to 999)&lt;br /&gt;SELECT DECIMAL(RAND() * 99999999999,13,0), DECIMAL(RAND() * 999,3)&lt;br /&gt;FROM SYSIBM.SYSDUMMY1; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;result as integer.. Range (0 to 255)&lt;br /&gt;SELECT INT(RAND() * 255) FROM SYSIBM.SYSDUMMY1; &lt;/p&gt;&lt;p&gt;Result as char...&lt;br /&gt;SELECT SUBSTR(CAST(RAND() AS CHAR(20)),3,14) FROM SYSIBM.SYSDUMMY1; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Another method&lt;br /&gt;&lt;/strong&gt;Obtain two timestamp values and choose selected positional digits from each to generate a single random value.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="color:#006600;"&gt;Alphanumeric random numbers&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;WITH RAND_NUM(A) AS&lt;br /&gt;(&lt;br /&gt;VALUES(1)&lt;br /&gt;UNION ALL&lt;br /&gt;SELECT INT(RAND()*255) FROM RAND_NUM WHERE&lt;br /&gt;A NOT BETWEEN 65 AND 90&lt;br /&gt;AND A NOT BETWEEN 97 AND 122&lt;br /&gt;AND A NOT BETWEEN 48 AND 57&lt;br /&gt;)&lt;br /&gt;SELECT CHR(A) FROM RAND_NUM WHERE&lt;br /&gt;A BETWEEN 65 AND 90&lt;br /&gt;OR A BETWEEN 97 AND 122&lt;br /&gt;OR A BETWEEN 48 AND 57&lt;br /&gt;;&lt;br /&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;Select a random row from a table&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;SELECT * FROM table&lt;br /&gt;ORDER BY RAND()&lt;br /&gt;FETCH FIRST 1 ROWS ONLY&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115754158237802767?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115754158237802767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115754158237802767'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/09/random-number-generator-numeric-alpha.html' title='Random number generator - Numeric &amp; Alpha Numeric'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115746444091486794</id><published>2006-09-05T19:24:00.000+05:30</published><updated>2006-09-05T19:24:00.980+05:30</updated><title type='text'>Testing</title><content type='html'>This is the test message...&lt;br /&gt;posting via Mozilla web Browser plugin - Performancing.&lt;br /&gt;&lt;br /&gt;Testing quote&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;&lt;font color="#009900"&gt;Knowlege&lt;/font&gt;&lt;/b&gt; in ur hands for ur &lt;b&gt;&lt;font color="#ff6600"&gt;journey&lt;/font&gt;&lt;/b&gt; ahead! &lt;br /&gt;&lt;strike&gt;Strike&lt;/strike&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115746444091486794?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115746444091486794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115746444091486794'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/09/testing.html' title='Testing'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115711207942178830</id><published>2006-09-01T17:16:00.000+05:30</published><updated>2006-09-01T17:31:19.436+05:30</updated><title type='text'>start working with DB2 on Linux</title><content type='html'>&lt;p&gt;Installing Db2 - &lt;a href="http://www.linuxdocs.org/HOWTOs/DB2-HOWTO/db2install.html"&gt;http://www.linuxdocs.org/HOWTOs/DB2-HOWTO/db2install.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Creating Db2 Instance - &lt;a href="http://www.linuxdocs.org/HOWTOs/DB2-HOWTO/db2instance.html"&gt;http://www.linuxdocs.org/HOWTOs/DB2-HOWTO/db2instance.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Removing Db2 - &lt;a href="http://www.linuxdocs.org/HOWTOs/DB2-HOWTO/uninstall.html"&gt;http://www.linuxdocs.org/HOWTOs/DB2-HOWTO/uninstall.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Trouble Shooting - &lt;a href="http://www.linuxdocs.org/HOWTOs/DB2-HOWTO/db2trouble.html"&gt;http://www.linuxdocs.org/HOWTOs/DB2-HOWTO/db2trouble.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#006600;"&gt;To start the DB2 Control Center (GUI)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;1. Ensure you are logged on to your Linux workstation using either the DB2 Administration Server user ID or the DB2 instance user ID. If you use the su command to become the user, ensure you include the -l parameter to initialize the environment for the user.&lt;/p&gt;&lt;p&gt;2. Start the X server, if it is not already started. &lt;/p&gt;&lt;p&gt;3. Issue the db2cc command to start the DB2 Control Center.&lt;/p&gt;&lt;p&gt;4. Issue the db2ic command to start the DB2 Information Center&lt;/p&gt;&lt;p&gt;To connect to a database:&lt;br /&gt;bash$ db2 CONNECT TO database USER userID USING password ..&lt;/p&gt;&lt;p&gt;Atlast i got materials to run db2 on linux machine.. Today i will create the db2 instance in my SUSE linux...let seee how it works ?&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115711207942178830?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115711207942178830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115711207942178830'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/09/start-working-with-db2-on-linux.html' title='start working with DB2 on Linux'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115529132678011530</id><published>2006-08-11T15:43:00.000+05:30</published><updated>2006-08-12T20:19:56.703+05:30</updated><title type='text'>DB2 9 sets world record for transactional benchmark</title><content type='html'>&lt;p&gt;DB2 9 running on an IBM p5 595 published the most transactions per minute ever in the TPC-C benchmark.&lt;/p&gt;&lt;p&gt;With over 4 million transactions per minute (4,033,378 tpmC) DB2 9 leads Oracle 10g by 2.5x and Microsoft SQL Server 2005 by 3.3x&lt;br /&gt;DB2 9 was able to process 4 million committed transactions per minute (66,937 commits per second).&lt;br /&gt;&lt;a href="http://www.tpc.org/tpcc/results/tpcc_perf_results.asp"&gt;Top ten results available from tpc.org&lt;/a&gt; including performance, price/performance and availability dates.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115529132678011530?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115529132678011530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115529132678011530'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/08/db2-9-sets-world-record-for.html' title='DB2 9 sets world record for transactional benchmark'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115518306725453021</id><published>2006-08-10T09:32:00.000+05:30</published><updated>2006-08-10T09:41:07.290+05:30</updated><title type='text'>Archived Data server Web seminar</title><content type='html'>Those who failed to attend the web seminar, you have the opportunity now.&lt;br /&gt;Yes the Web Seminar is now archived.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dmreview.com/web/archive/06/080206ibm/playback.cfm?sourcecode=attend"&gt;http://www.dmreview.com/web/archive/06/080206ibm/playback.cfm?sourcecode=attend&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;if your proxy server blocks the audio &amp; video stream, then you can't play&lt;br /&gt;this archived web seminar.&lt;br /&gt;&lt;br /&gt;I coudn't attend live seminar, now also i couldn't see the archived seminar bcoz video stream&lt;br /&gt;has been blocked in our proxy server. i sent a mail to my manager regarding this, waiting for reply !!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115518306725453021?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115518306725453021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115518306725453021'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/08/archived-data-server-web-seminar.html' title='Archived Data server Web seminar'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115503077983144578</id><published>2006-08-08T15:13:00.000+05:30</published><updated>2006-08-08T15:22:59.840+05:30</updated><title type='text'>40 years of computing</title><content type='html'>&lt;div style="FONT-SIZE: 83%; WIDTH: 194px; FONT-FAMILY: arial,sans-serif; TEXT-ALIGN: center"&gt;&lt;div style="BACKGROUND: url(http://picasaweb.google.com/f/img/album_background.gif) no-repeat left 50%; HEIGHT: 194px"&gt;&lt;a href="http://picasaweb.google.com/Ramesh.cit/Mainframe"&gt;&lt;img style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; PADDING-TOP: 16px; BORDER-BOTTOM: medium none" height="160" src="http://lh5.google.com/Ramesh.cit/RJ4rC50kABE/AAAAAAAABKc/Dd48qHOS2Sw/Mainframe.jpg?crop=1&amp;imgmax=160" width="160" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://picasaweb.google.com/Ramesh.cit/Mainframe"&gt;&lt;div style="FONT-WEIGHT: bold; COLOR: #4d4d4d; TEXT-DECORATION: none"&gt;Mainframe&lt;/div&gt;&lt;/a&gt;&lt;div style="COLOR: #808080"&gt;Jun 25, 2006 - 41 Photos&lt;/div&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;40 years of computing - mainframe&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115503077983144578?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115503077983144578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115503077983144578'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/08/40-years-of-computing.html' title='40 years of computing'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115501171343714170</id><published>2006-08-08T09:43:00.000+05:30</published><updated>2006-08-08T10:05:13.460+05:30</updated><title type='text'>IBM software support Tool</title><content type='html'>&lt;p&gt;IBM Software Support Toolbar &lt;/p&gt;&lt;p&gt;&lt;a href="http://www-306.ibm.com/software/support/toolbar/index.html?ibmsst=rssFeed"&gt;http://www-306.ibm.com/software/support/toolbar/index.html?ibmsst=rssFeed&lt;/a&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Ability to search or browse for product downloads including Fix Packs, Updates, Patches, etc.&lt;/li&gt;&lt;li&gt;Support knowledge base using keywords, specific error or an exact phrase.&lt;/li&gt;&lt;li&gt;Automatically notifies you when a newer version is available for download.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115501171343714170?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www-306.ibm.com/software/support/toolbar/index.html?ibmsst=rssFeed' title='IBM software support Tool'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115501171343714170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115501171343714170'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/08/ibm-software-support-tool.html' title='IBM software support Tool'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115495524936069061</id><published>2006-08-07T18:19:00.000+05:30</published><updated>2006-08-07T18:24:09.370+05:30</updated><title type='text'>Got the gift today</title><content type='html'>It's a huge mug for drinking cofee,etc... IBM logo is embeded, looks majestic..&lt;br /&gt;Also comes with db2 test drive cd, But i have already&lt;br /&gt;got it from my friends, installed and replied answer !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115495524936069061?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115495524936069061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115495524936069061'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/08/got-gift-today.html' title='Got the gift today'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115406819326718265</id><published>2006-07-28T11:58:00.000+05:30</published><updated>2006-08-02T19:40:12.560+05:30</updated><title type='text'>Seminar on Data server</title><content type='html'>Register for the free Web Seminar at http://www.dmreview.com/web/reg_ibm05.cfm?sourcecode=ibm3&lt;br /&gt;Topic: Data Server Innovation for True Business Value (db2 Viper Hybrid data server)&lt;br /&gt;Date: Wednesday August 2, 2006 11 am ET&lt;br /&gt;&lt;br /&gt;It's a live presentation using Microsoft Office live meeting.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Ramesh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115406819326718265?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.dmreview.com/web/reg_ibm05.cfm?' title='Seminar on Data server'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115406819326718265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115406819326718265'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/07/seminar-on-data-server.html' title='Seminar on Data server'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115383289553238116</id><published>2006-07-25T18:00:00.000+05:30</published><updated>2006-07-25T18:38:15.600+05:30</updated><title type='text'>Test drive in my machine</title><content type='html'>I didn't  receive my cd yet.. so i got it from friends and installed in my machine...&lt;br /&gt;&lt;br /&gt;Here the trouble starts...&lt;br /&gt;first i have installed in win2000&lt;br /&gt;Takes nearly 20 min's to complete installation, since my machine is slow like tortoise(128 MB RAM)... need upgrade. Installation complete successfully, but fails to start db2 service.&lt;br /&gt;I couldn't able to find the reason for failure, Atlast i found that system service&lt;br /&gt;was disabled(i disabled this some time back to boot fast). Now i started the windows service&lt;br /&gt;and db2... Yeh it's working&lt;br /&gt;&lt;br /&gt;Another problem..&lt;br /&gt;&lt;br /&gt;I couldnt able to create sample database..oh...god then i tried several times but got fail all times... Then i try to install in WinXP.. Here everything went fine.&lt;br /&gt;Today i will make a test drive with xml objects&lt;br /&gt;&lt;br /&gt;i need to upgrade "RAM" to make my system work fast as mainframe....hmm asai than, but cost is 512 MB  - 2000 Rs :-(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115383289553238116?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115383289553238116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115383289553238116'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/07/test-drive-in-my-machine.html' title='Test drive in my machine'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115330929791471852</id><published>2006-07-19T17:00:00.000+05:30</published><updated>2006-07-19T17:11:37.956+05:30</updated><title type='text'>look at the wonder - Madurai Meenakshi Amman Temple</title><content type='html'>&lt;span style="color:#003300;"&gt;&lt;strong&gt;Have a small break from db2....&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;look at the glorious pictures of Madurai Meenakshi Amman Temple&lt;br /&gt;- Ariel view, Tank view, Pillars..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/Ramesh.cit/MaduraiMeenakshiAmmanTemple"&gt;http://picasaweb.google.com/Ramesh.cit/MaduraiMeenakshiAmmanTemple&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115330929791471852?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://picasaweb.google.com/Ramesh.cit/MaduraiMeenakshiAmmanTemple' title='look at the wonder - Madurai Meenakshi Amman Temple'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115330929791471852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115330929791471852'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/07/look-at-wonder-madurai-meenakshi-amman.html' title='look at the wonder - Madurai Meenakshi Amman Temple'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115287865898229238</id><published>2006-07-14T17:19:00.000+05:30</published><updated>2006-07-14T17:34:18.996+05:30</updated><title type='text'>Test drive Db2 Viper</title><content type='html'>&lt;a href="http://204.2.106.79/ibm/db2viper/index.html"&gt;http://204.2.106.79/ibm/db2viper/index.html&lt;/a&gt;&lt;br /&gt;Register now..&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Eligibility : &lt;/strong&gt;Only residents of India can participate in the DB2 Viper test drive Challenge&lt;br /&gt;All participants must be 18 years of age or above.&lt;br /&gt;Last date: August 15th 2006&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Gifts:&lt;/strong&gt;&lt;br /&gt;First 1500 registrants (Early Bird Registrants) will receive an EXCITING GIFT! along with their challenge kit.&lt;br /&gt;The first 100 entries/responses received , will each receive a MP3 player and Free DB2 certification voucher for DB2 Fundamentals Certification exam valued at estimated Rs. 2,700 (US $60).&lt;br /&gt;The next 400 entries/responses will each receive a Free DB2 certification voucher for DB2 Fundamentals Certification exam valued at estimated Rs. 2,700 (US $60).&lt;br /&gt;So dont miss this golden opportunity...........&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;Plz register now itself by clicking the above link.. hurry&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;challenge details: &lt;a href="http://204.2.106.79/ibm/db2viper/challengedetails.html"&gt;http://204.2.106.79/ibm/db2viper/challengedetails.html&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115287865898229238?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://204.2.106.79/ibm/db2viper/index.html' title='Test drive Db2 Viper'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115287865898229238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115287865898229238'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/07/test-drive-db2-viper.html' title='Test drive Db2 Viper'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115276916379200763</id><published>2006-07-13T10:59:00.000+05:30</published><updated>2006-07-13T11:09:23.803+05:30</updated><title type='text'>Can You Write a Redbook?</title><content type='html'>&lt;span style="color:#006600;"&gt;&lt;strong&gt;What is Redbook ?&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;These are supplemental manuals that IBM writes and distributes free-of-charge. They can be on just about any technical topic.&lt;br /&gt;&lt;br /&gt;Each team is directed by an IBMer from their technical publications group. The team will consist of professionals from IBM field and development, from IBM Business Partners, from customers, and from the marketplace in general. So, you too, can research and write an IBM redbook!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;Would you like to join a team writing a Redbook? &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;IBM Redbooks are developed through a unique program - the &lt;a href="http://publib-b.boulder.ibm.com/Redbooks.nsf/pages/residencies?Open"&gt;Residency&lt;/a&gt; - that teams IBM technical professionals with Business Partners, customers, and IBM product development staff.&lt;br /&gt;&lt;br /&gt;here you find the topics and no of openings .....&lt;br /&gt;&lt;a href="http://www.redbooks.ibm.com/residents.nsf/ResIndex/"&gt;http://www.redbooks.ibm.com/residents.nsf/ResIndex/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note: ITSO pays authorized travel and living expenses for all residents&lt;br /&gt;&lt;br /&gt;I think it needs minimum 5 yrs of experience to write..... and it will be easy if we are in U.S...&lt;br /&gt;&lt;br /&gt;Hope i will write in just few yrs....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115276916379200763?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115276916379200763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115276916379200763'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/07/can-you-write-redbook.html' title='Can You Write a Redbook?'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115251382537440076</id><published>2006-07-10T12:01:00.000+05:30</published><updated>2006-07-10T12:13:45.403+05:30</updated><title type='text'>Exec Sql !!!!!!!!!!!!!!!!!!!!!!!!!!</title><content type='html'>Till now, i didn't code even a single &lt;span style="color:#ff0000;"&gt;exec sql or exec cics statement&lt;/span&gt;, :((  i have been working for more than 1 yr in mainframe .... Asked many times for db2/cics module .. hmmm no result.  what HR's r doing ? they are talking abt performance, resource utilization.... But not asking the interest of programmers...  If i be a manager, first i seee their profile and assign according to that..&lt;br /&gt; i have been deviated to mainframe from my fav windows tech(C,c++, .  net,unix) .. here also  i am starving for online app's&lt;br /&gt;It's very bad, y????????????... just now i  heard that we got a prj with a cics module....&lt;br /&gt;hmm... Hope it should be a good module&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115251382537440076?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115251382537440076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115251382537440076'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/07/exec-sql.html' title='Exec Sql !!!!!!!!!!!!!!!!!!!!!!!!!!'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115225654190874479</id><published>2006-07-07T11:53:00.000+05:30</published><updated>2006-07-07T12:47:32.480+05:30</updated><title type='text'>code named "Viper"</title><content type='html'>&lt;u&gt;Db2 9 code named Viper&lt;br /&gt;&lt;/u&gt;Other Commercial DBMS offers XML support by -- storing each XML document intact as a single large object(CLOB/BLOB) or "shredding" it into multiple columns often across multiple tables.&lt;br /&gt;In many situations, these options introduce performance problems, administrative challenges, increased query complexity, and other issues. Finally, db2 Viper came with pure XML technology which is a hybrid XML-relational data server.&lt;br /&gt;&lt;u&gt;Db2 Viper&lt;/u&gt;&lt;br /&gt;It's a single database engine that can manage both pure xml and pure relational data.&lt;br /&gt;&lt;br /&gt;1. New storage techniques&lt;br /&gt;2. New indexing technology to speed searches across and within XML documents&lt;br /&gt;3. New query language support (for XQuery)&lt;br /&gt;4. A new graphical query builder (for XQuery)&lt;br /&gt;5. New query optimization techniques &lt;p&gt;&lt;u&gt;most interesting features&lt;/u&gt; (poll result from db2mag.com).&lt;br /&gt;XML management 34 %&lt;br /&gt;Table partitioning - 16%&lt;br /&gt;Data row compression (cut storage cost upto 80%) - 12 %&lt;br /&gt;Automatic memory management -14% &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;Architectural overview&lt;a href="http://photos1.blogger.com/blogger/6676/1236/1600/viper%20arch.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6676/1236/400/viper%20arch.jpg" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;DB2 allows client applications to work with both tabular and XML data structures through the query language of their choice -- SQL (including SQL with XML extensions, often referred to as "SQL/XML") or XQuery.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;To efficiently manage traditional SQL data types and XML data, DB2 includes two distinct storage mechanisms. &lt;/p&gt;&lt;p&gt;(e.g)&lt;a href="http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0511singh/"&gt; performance&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115225654190874479?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115225654190874479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115225654190874479'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/07/code-named-viper.html' title='code named &quot;Viper&quot;'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115219102951053023</id><published>2006-07-06T18:29:00.000+05:30</published><updated>2006-07-07T18:26:03.060+05:30</updated><title type='text'>what is static &amp; dynamic sql ??</title><content type='html'>&lt;p&gt;&lt;span style="color:#006600;"&gt;Question ??? hmm.. old ninaivuhal.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;static sql&lt;br /&gt;---------&lt;br /&gt;When the syntax of embedded SQL statements is fully known at precompile time, the statements are referred to as static SQL. This is in contrast to dynamic SQL statements whose syntax is not known until run time.&lt;br /&gt;The only information that can be specified at run time are values for any host variables referenced by the statement. However, host variable information, such as data types, must still be precompiled. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;Dynamic SQL&lt;br /&gt;--------------&lt;br /&gt;Dynamic SQL is characterized by its capability to change the columns, tables, and predicates it references during the program's execution. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;There are four classes of dynamic SQL: EXECUTE IMMEDIATE, non-SELECT dynamic SQL, fixed-list SELECT, and varying-list SELECT. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;EXECUTE IMMEDIATE&lt;br /&gt;------------------------&lt;br /&gt;EXECUTE IMMEDIATE implicitly prepares and executes complete SQL statements coded in host variables. Only a subset of SQL statements is available when you use the EXECUTE IMMEDIATE class of dynamic SQL. The most important SQL statement that is missing is the SELECT statement. Therefore, EXECUTE IMMEDIATE dynamic SQL cannot retrieve data from tables.&lt;br /&gt;(e.g)&lt;br /&gt;MOVE +45 TO STRING-VAR-LEN.&lt;br /&gt;MOVE "DELETE FROM DSN8810.PROJ WHERE DEPTNO = 'A00'" TO STRING-VARIABLE.&lt;br /&gt;EXEC SQL&lt;br /&gt;EXECUTE IMMEDIATE :STRING-VARIABLE&lt;br /&gt;END-EXEC.&lt;br /&gt;&lt;br /&gt;Non-SELECT Dynamic SQL&lt;br /&gt;----------------------&lt;br /&gt;The second type of dynamic SQL is known as Non-SELECT dynamic SQL. This class of dynamic SQL uses PREPARE and EXECUTE to issue SQL statements. As its name implies, non-SELECT dynamic SQL cannot issue the SELECT statement. The following pseudo-code listing shows a simple use of non-SELECT dynamic SQL that DELETEs rows from a table.&lt;br /&gt;(e.g).&lt;br /&gt;&lt;br /&gt;MOVE "DELETE FROM DSN88310.PROJ WHERE DEPTNO = 'A00'"&lt;br /&gt;TO STRING-VARIABLE.&lt;br /&gt;EXEC SQL&lt;br /&gt;PREPARE STMT1 FROM :STRING-VARIABLE;&lt;br /&gt;END-EXEC.&lt;br /&gt;EXEC SQL&lt;br /&gt;EXECUTE STMT1;&lt;br /&gt;END-EXEC.&lt;br /&gt;Non-SELECT dynamic SQL can use a powerful feature of dynamic SQL called a parameter marker, which is a placeholder for host variables in a dynamic SQL statement.&lt;br /&gt;(e.g)&lt;br /&gt;MOVE "DELETE FROM DSN8810.PROJ WHERE DEPTNO = ?"&lt;br /&gt;TO STRING-VARIABLE.&lt;br /&gt;EXEC SQL&lt;br /&gt;PREPARE STMT1 FROM :STRING-VARIABLE;&lt;br /&gt;END-EXEC.&lt;br /&gt;MOVE 'A00' TO TVAL.&lt;br /&gt;EXEC SQL&lt;br /&gt;EXECUTE STMT1 USING :TVAL;&lt;br /&gt;END-EXEC.&lt;br /&gt;The question mark is used as a parameter marker, replacing the 'A00' in the predicate. When the statement is executed, a value is moved to the host variable (:TVAL) &lt;/p&gt;&lt;p&gt;&lt;br /&gt;Fixed list select &amp;amp; variable list select will come in next post.....&lt;br /&gt;I think this is too long to read....&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115219102951053023?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115219102951053023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115219102951053023'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/07/what-is-static-dynamic-sql.html' title='what is static &amp; dynamic sql ??'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115207383192278074</id><published>2006-07-05T09:54:00.000+05:30</published><updated>2006-07-05T10:00:31.933+05:30</updated><title type='text'>Limits in db2 for OS/390 and z/os</title><content type='html'>&lt;strong&gt;&lt;span style="color:#006600;"&gt;Limits of db2&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;---------------&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Datetime limits&lt;br /&gt;Numeric limits&lt;br /&gt;String length limits                                                                            &lt;br /&gt;Identifier length limit&lt;br /&gt;limits on SQL statements                                                &lt;br /&gt;DB2 system limits                                           &lt;br /&gt;for details click the anchor.....&lt;br /&gt;&lt;br /&gt;Anchor--&gt; &lt;a href="http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dsnsqh13/A.0?ACTION=MATCHES&amp;REQUEST=maximum+length+sql&amp;amp;TYPE=FUZZY&amp;SHELF=DSNSHHA4.bks&amp;amp;DT=20030509185119&amp;CASE=&amp;amp;searchTopic=TOPIC&amp;searchText=TEXT&amp;amp;searchIndex=INDEX&amp;rank=RANK&amp;amp;ScrollTOP=FIRSTHIT#FIRSTHIT"&gt;Limits in DB2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115207383192278074?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115207383192278074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115207383192278074'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/07/limits-in-db2-for-os390-and-zos.html' title='Limits in db2 for OS/390 and z/os'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115200146584586173</id><published>2006-07-04T13:48:00.000+05:30</published><updated>2006-07-04T13:54:25.846+05:30</updated><title type='text'>Album for mainframe &amp; db2</title><content type='html'>Album - &lt;a href="http://picasaweb.google.com/Ramesh.cit/Mainframe"&gt;Mainframe&amp;amp;db2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115200146584586173?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://picasaweb.google.com/Ramesh.cit/Mainframe' title='Album for mainframe &amp; db2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115200146584586173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115200146584586173'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/07/album-for-mainframe-db2.html' title='Album for mainframe &amp; db2'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115193165249264262</id><published>2006-07-03T18:22:00.000+05:30</published><updated>2006-07-03T18:30:52.510+05:30</updated><title type='text'>Fun with Recursive SQL</title><content type='html'>--- Prints the factorial of numbers from 1 to N.&lt;br /&gt;WITH TEMP(N,FACT)&lt;br /&gt; AS(VALUES(CAST (1 AS DECIMAL(31,0)),CAST (1 AS DECIMAL(31,0)))&lt;br /&gt;UNION ALL&lt;br /&gt;SELECT N+1,FACT*(N+1) FROM TEMP WHERE N &lt; 11)&lt;br /&gt;SELECT * FROM TEMP;&lt;br /&gt;&lt;br /&gt;Result:&lt;br /&gt;--------&lt;br /&gt;1,1&lt;br /&gt;2,2,&lt;br /&gt;3,6&lt;br /&gt;4,24&lt;br /&gt;....&lt;br /&gt;10,1oth factorial&lt;br /&gt;lot more can do with recursive sql&lt;br /&gt;Try this in above version 7.1, since column table expression introduced from db2 v7.1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115193165249264262?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115193165249264262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115193165249264262'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/07/fun-with-recursive-sql.html' title='Fun with Recursive SQL'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115149914156278426</id><published>2006-06-28T18:15:00.000+05:30</published><updated>2006-06-28T18:22:21.573+05:30</updated><title type='text'>db2 magazine</title><content type='html'>&lt;p&gt;I got the db2 magazine today, which i subscribed two months back.... Here is the link if anyone wants....... enjoy it's freeeeeeeeeee....... &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://db2mag.com/renew/"&gt;http://db2mag.com/renew/&lt;/a&gt;&lt;/p&gt;Thanks for stopping by,&lt;br /&gt;Ramesh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115149914156278426?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://db2mag.com/renew/' title='db2 magazine'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115149914156278426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115149914156278426'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/06/db2-magazine.html' title='db2 magazine'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115106509637534579</id><published>2006-06-23T17:41:00.000+05:30</published><updated>2006-06-23T17:48:16.396+05:30</updated><title type='text'>Deleting Duplicate Records from a Table</title><content type='html'>Deleting Duplicate Records from a Table ????&lt;br /&gt;very simple using ROW_NUMBER OLAP function in db2 v8.1&lt;br /&gt;&lt;br /&gt;Assume you have a table TRANS(TRANSNO integer,item char(10)) with the following records:&lt;br /&gt;TRANSNO ITEM&lt;br /&gt;----------- ------&lt;br /&gt;1           TEST1&lt;br /&gt;1           TEST1&lt;br /&gt;2           Test2&lt;br /&gt;2           Test2&lt;br /&gt;3           Test3&lt;br /&gt;4           Test4&lt;br /&gt;5           Test5&lt;br /&gt;5           Test5&lt;br /&gt;4           Test4&lt;br /&gt;5           Test5&lt;br /&gt;10 record(s) selected.&lt;br /&gt;If you want to delete, all duplicate records from the table, the following steps may be used:&lt;br /&gt;1) create view del_tmp as select a,b ,row_number() over(partition by TRANSNO,ITEM) as row# from TRANS&lt;br /&gt;select * from del_tmp&lt;br /&gt;&lt;br /&gt;TRANS ITEM ROW#&lt;br /&gt;----------- ---------&lt;br /&gt;1            Test1         1&lt;br /&gt;1            Test1         2&lt;br /&gt;2            Test2        1&lt;br /&gt;2            Test2        2&lt;br /&gt;3            Test3        1&lt;br /&gt;4            Test4        1&lt;br /&gt;4            Test4        2&lt;br /&gt;5            Test5        1&lt;br /&gt;5            Test5        2&lt;br /&gt;5            Test5        3&lt;br /&gt;10 record(s) selected.&lt;br /&gt;&lt;br /&gt;2) delete from del_tmp where row# &gt;= 2&lt;br /&gt;This will eliminate duplicate rows from the base table TRANS.&lt;br /&gt;select * from TRANS&lt;br /&gt;TRANSNO ITEM&lt;br /&gt;----------- -------&lt;br /&gt;1 Test1&lt;br /&gt;2 Test2&lt;br /&gt;3 Test3&lt;br /&gt;4 Test4&lt;br /&gt;5 Test5&lt;br /&gt;5 record(s) selected.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;span style="color:#003300;"&gt;Explanation:&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;ROW_NUMBER is an OLAP function which tells DB2 to create an incremental number column.&lt;br /&gt;Let's review the syntax of this OLAP specification:&lt;br /&gt;syntax1:Row_Number() Over (Order By col_name)&lt;br /&gt;The OVER keyword instructs DB2 what column or columns should be used to control the numbering order&lt;br /&gt;(e.g)&lt;br /&gt;Select ProductName,&lt;br /&gt;Row_Number() Over (Order By ProductName)&lt;br /&gt;As ProductNumber&lt;br /&gt;From Products&lt;br /&gt;Order By ProductName&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;Result:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Product productno&lt;br /&gt;A 1&lt;br /&gt;B 2&lt;br /&gt;C 3&lt;br /&gt;D 4&lt;br /&gt;&lt;br /&gt;Syntax2:Row_Number() Over (partition By col_name)&lt;br /&gt;The partition keyword which tells DB2 how to reset the numbering by a change in value or values.&lt;br /&gt;(e.g) Above&lt;br /&gt;&lt;br /&gt;For further Reference: &lt;a href="http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0401kuznetsov/index.html"&gt;http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0401kuznetsov/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115106509637534579?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115106509637534579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115106509637534579'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/06/deleting-duplicate-records-from-table.html' title='Deleting Duplicate Records from a Table'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115035599021478050</id><published>2006-06-15T12:44:00.000+05:30</published><updated>2006-06-15T15:06:05.420+05:30</updated><title type='text'>Data compression in DB2 Viper v9.</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/6676/1236/1600/viper.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6676/1236/400/viper.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a name="N10063"&gt;&lt;span style="color:#006600;"&gt;&lt;strong&gt;Data row compression - how it works&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#006600;"&gt;&lt;strong&gt; ?&lt;/strong&gt;&lt;/span&gt; interesting....&lt;br /&gt;“Venom” technology in DB2 Viper uses a dictionary based algorithm for compressing data records. That is, DB2 Viper can compress rows in database tables by scanning tables for repetitive, duplicate data and building dictionaries that assign short, numeric keys to those repetitive entries. Text data tends to compress well because of recurring strings as well as data with lots of repeating characters, or leading or trailing blanks. &lt;/p&gt;&lt;p&gt;e.g&lt;/p&gt;&lt;p&gt;Name Dept Salary City State ZipCode&lt;/p&gt;&lt;p&gt;Fred 500 10000 Plano TX 24355&lt;br /&gt;John 500 20000 Plano TX 24355&lt;/p&gt;&lt;p&gt;In this example, not only the repeating values (of "500") in the Dept column are compressed, but the repeating pattern (of "Plano, TX, 24355") that spans the City, State, and ZipCode columns is also compressed as a single value. Figure 1 compares how DB2 would store the row normally and in compressed formats: &lt;/p&gt;&lt;p&gt;&lt;a href="http://photos1.blogger.com/blogger/6676/1236/1600/image001.gif"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6676/1236/400/image001.gif" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Fig1.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;Article link - &lt;a href="http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0605ahuja/"&gt;click me&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0605ahuja/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115035599021478050?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0605ahuja/' title='Data compression in DB2 Viper v9.'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115035599021478050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115035599021478050'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/06/data-compression-in-db2-viper-v9.html' title='Data compression in DB2 Viper v9.'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115034724218158183</id><published>2006-06-15T10:20:00.000+05:30</published><updated>2006-06-15T10:24:02.193+05:30</updated><title type='text'>Plans + DBRMS + Packages + Collections + Versions = Confusion</title><content type='html'>A posting from inautix-experts forum.&lt;br /&gt;&lt;br /&gt;It's reall a good article to clear the  confusion from db2mag.com&lt;br /&gt;      Plans + DBRMS + Packages + Collections + Versions = Confusion&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.db2mag.com/story/showArticle.jhtml?articleID=15300107"&gt;http://www.db2mag.com/story/showArticle.jhtml?articleID=15300107&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.db2mag.com/story/showArticle.jhtml?articleID=17602333"&gt;http://www.db2mag.com/story/showArticle.jhtml?articleID=17602333&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.db2mag.com/story/showArticle.jhtml?articleID=18901299"&gt;http://www.db2mag.com/story/showArticle.jhtml?articleID=18901299&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;reading part III...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115034724218158183?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115034724218158183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115034724218158183'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/06/plans-dbrms-packages-collections.html' title='Plans + DBRMS + Packages + Collections + Versions = Confusion'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-115008846430680281</id><published>2006-06-12T10:26:00.000+05:30</published><updated>2006-06-12T10:31:04.316+05:30</updated><title type='text'>Is there a way to identify the primary keys of a DB2 table?</title><content type='html'>&lt;p&gt;Ans : There are many ways to find out. &lt;/p&gt;&lt;p&gt;Once way is to use BMCDB2&lt;/p&gt;&lt;p&gt; STEP 1 : TYPE TSO BMCDB2 on command line&lt;/p&gt;&lt;p&gt; STEP 2 : TYPE 2 (CATALOG MANAGER for DB2)&lt;/p&gt;&lt;p&gt; STEP 3 : TYPE 'TB' FOR Obj type and type 'WDHT%' in the Qualifier option&lt;/p&gt;&lt;p&gt; STEP 4 : From the list of tables, selct your table and type 'PK' on the column.&lt;/p&gt;&lt;p&gt; You will get the Primary keys on the right hand side and the dependent table list on the   left hand side&lt;br /&gt;I know that TDB2PNAM.WDHT_ACCT is a parent table and I want to know all the child tables. &lt;/p&gt;&lt;p&gt;Another way:&lt;br /&gt;The primary keys can be found in the following system table SYSIBM.SYSKEYCOLUSE&lt;/p&gt;&lt;p&gt;1) Run this Query to get the Primary Keys&lt;br /&gt;SELECT IDX.NAME ,IDX.CREATOR ,KEYI.COLNAME , IDX.TBNAME   FROM SYSIBM.SYSINDEXES IDX , SYSIBM.SYSKEYS KEYI  WHERE KEYI.IXNAME = IDX.NAME  AND KEYI.IXCREATOR = IDX.CREATOR AND IDX.TBNAME LIKE 'WDHT_ACCT%'     AND IDX.UNIQUERULE = 'P'         &lt;/p&gt;&lt;p&gt;2) Run this query to get the child table&lt;br /&gt;SELECT CREATOR AS CREATOR ,TBNAME AS CHILD_TABLE ,RELNAME AS CONSTRAINT_NAME FROM SYSIBM.SYSRELS  WHERE REFTBNAME LIKE 'WDHT_ACCT%'&lt;/p&gt;Thanks for stopping by,&lt;br /&gt;Ramesh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-115008846430680281?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115008846430680281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/115008846430680281'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/06/is-there-way-to-identify-primary-keys.html' title='Is there a way to identify the primary keys of a DB2 table?'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114854144978874561</id><published>2006-05-25T12:44:00.000+05:30</published><updated>2006-05-25T12:47:29.803+05:30</updated><title type='text'>How to find the second maximum salary from EMP table ?</title><content type='html'>posting moved from&lt;a href="http://sqlramesh.blogspot.com/"&gt; Sql blog &lt;/a&gt;(deleted)  !&lt;br /&gt;&lt;br /&gt;SELECT MAX(SALARY) FROM EMP WHERE SALARY &lt;(SELECT MAX(SALARY) FROM EMP)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114854144978874561?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114854144978874561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114854144978874561'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/05/how-to-find-second-maximum-salary-from.html' title='How to find the second maximum salary from EMP table ?'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114844811821899111</id><published>2006-05-24T10:50:00.000+05:30</published><updated>2006-05-24T10:51:58.230+05:30</updated><title type='text'>performance tips</title><content type='html'>&lt;p&gt;INSERT INTO tab_comp VALUES (item1, price1, qty1); &lt;/p&gt;&lt;p&gt;INSERT INTO tab_comp VALUES (item2, price2, qty2); &lt;/p&gt;&lt;p&gt;INSERT INTO tab_comp VALUES (item3, price3, qty3); &lt;/p&gt;&lt;p&gt;&lt;span style="color:#ff6600;"&gt;can be rewritten as&lt;/span&gt;&lt;/p&gt;&lt;p&gt;INSERT INTO tab_comp VALUES (item1, price1, qty1), (item2, price2, qty2),                      (item3, price3, qty3); &lt;/p&gt;&lt;p&gt;&lt;span style="color:#006600;"&gt;The multi-row INSERT will require roughly one third of the time required to execute the three original statements. &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114844811821899111?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114844811821899111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114844811821899111'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/05/performance-tips.html' title='performance tips'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114844409157867309</id><published>2006-05-24T09:42:00.000+05:30</published><updated>2006-05-24T09:44:51.586+05:30</updated><title type='text'>Busy !</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/6676/1236/1600/busy.0.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6676/1236/400/busy.0.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114844409157867309?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114844409157867309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114844409157867309'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/05/busy.html' title='Busy !'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114784094402251937</id><published>2006-05-17T09:50:00.000+05:30</published><updated>2006-07-07T18:20:02.056+05:30</updated><title type='text'>Certification Tutorials &amp; Info</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/6676/1236/1600/C4_DB2_RGB.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6676/1236/320/C4_DB2_RGB.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click the link on Test 700, 703 to download free tutorial from ibm website&lt;br /&gt;I recommend to read the text book : pearson edition, Author : Roger E.sanders, price : 270&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www7b.boulder.ibm.com/dmdd/library/tutorials/db2cert/db2cert_V8_tut.html"&gt;Test 700&lt;/a&gt; - DB2 UDB V8.1 Family Fundamentals&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www-128.ibm.com/developerworks/offers/lp/db2cert/"&gt;Test 703 &lt;/a&gt;- DB2 UDB V8.1 Family Application Development&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Exam fees: 2700 Rs&lt;br /&gt;&lt;br /&gt;Test centre in Chennai&lt;br /&gt;Adyar NIIT centre,&lt;br /&gt;Near Adyar bus depo,&lt;br /&gt;Ph:24413755&lt;br /&gt;&lt;br /&gt;Practical experience is needed to write 703, Hope i may get Db2 projects..&lt;br /&gt;&lt;br /&gt;My favourite websites&lt;br /&gt;&lt;a href="http://www.craigsmullins.com/"&gt;http://www.craigsmullins.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ibmmainframes.com"&gt;http://ibmmainframes.com&lt;/a&gt; "this is the first forum i have joined"&lt;br /&gt;&lt;a href="http://db2portal.com"&gt;http://db2portal.com&lt;/a&gt; "link to lots of db2 resources - i can say this as my db2 hub"&lt;br /&gt;&lt;a href="http://dbforums.com"&gt;http://dbforums.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mvsforums.com"&gt;http://mvsforums.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.suselinuxsupport.de"&gt;http://forums.suselinuxsupport.de&lt;/a&gt; "favourite suse linux" if i didn't come to mainframe this is my treasure&lt;br /&gt;&lt;a href="http://www-128.ibm.com/developerworks"&gt;http://www-128.ibm.com/developerworks&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.db2mag.com/"&gt;http://www.db2mag.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114784094402251937?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114784094402251937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114784094402251937'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/05/certification-tutorials-info.html' title='Certification Tutorials &amp; Info'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114778441257299543</id><published>2006-05-16T18:28:00.000+05:30</published><updated>2006-05-16T18:30:12.593+05:30</updated><title type='text'>40 tips in 60minutes</title><content type='html'>Here is the link..&lt;br /&gt;&lt;br /&gt;These "tips" provide guidelines on optimizing the behavior and performance of DB2 for OS/390 systems and applications.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dbazine.com/db2/db2-mfarticles/mullins-44tips"&gt;http://www.dbazine.com/db2/db2-mfarticles/mullins-44tips&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114778441257299543?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.dbazine.com/db2/db2-mfarticles/mullins-44tips' title='40 tips in 60minutes'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114778441257299543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114778441257299543'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/05/40-tips-in-60minutes.html' title='40 tips in 60minutes'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114769607453407406</id><published>2006-05-15T17:54:00.000+05:30</published><updated>2006-05-15T17:57:54.546+05:30</updated><title type='text'>Materialized Query Tables</title><content type='html'>MQTs are what their name implies: &lt;span style="color:#006600;"&gt;data from an SQL query stored as a table.&lt;/span&gt; Because of the flexibility of SQL, you can write and leverage MQTs for situations where a complex or I/O-intensive query data is used repeatedly.&lt;br /&gt;&lt;br /&gt;This can be a significant savings, since the I/O-intensive or complex query occurs once and the results are available to everyone to use without doing all the complex or intensive work again. &lt;br /&gt;&lt;br /&gt;&lt;span style="color:#003300;"&gt;SQL queries that do any SQL functions or sorting—such as SUM, AVG, GROUP BY, ORDER BY, ROLLUP, etc.—are good candidates for MQTs. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For more info.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.zjournal.com/index.cfm?section=article&amp;aid=287"&gt;http://www.zjournal.com/index.cfm?section=article&amp;amp;aid=287&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114769607453407406?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.zjournal.com/index.cfm?section=article&amp;aid=287' title='Materialized Query Tables'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114769607453407406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114769607453407406'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/05/materialized-query-tables.html' title='Materialized Query Tables'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114680105281410265</id><published>2006-05-05T09:16:00.000+05:30</published><updated>2006-05-05T09:20:52.823+05:30</updated><title type='text'>Solution for the sql query</title><content type='html'>&lt;p&gt;Question ?&lt;/p&gt;&lt;p&gt;&lt;a href="http://rameshdb2.blogspot.com/2006/05/sorting-days-of-week.html"&gt;http://rameshdb2.blogspot.com/2006/05/sorting-days-of-week.html&lt;/a&gt;&lt;/p&gt;Answer :&lt;br /&gt;Select day_name from TXN_TABLE order by &lt;br /&gt;                               locate(day_name,'SUNMONTUEWEDTHUFRISAT');&lt;br /&gt;Now the result is&lt;br /&gt;&lt;br /&gt;SUN&lt;br /&gt;MON&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;SAT&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114680105281410265?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://rameshdb2.blogspot.com/2006/05/sorting-days-of-week.html' title='Solution for the sql query'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114680105281410265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114680105281410265'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/05/solution-for-sql-query.html' title='Solution for the sql query'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114675096236613636</id><published>2006-05-04T19:20:00.000+05:30</published><updated>2006-05-04T19:26:02.380+05:30</updated><title type='text'>DB2 UDB for z/OS Version 8 information roadmap</title><content type='html'>go if u want dig into deep ocean&lt;br /&gt;&lt;br /&gt;Sea:&lt;br /&gt;&lt;a href="http://www-306.ibm.com/software/data/db2/zos/roadmap.html#nine"&gt;http://www-306.ibm.com/software/data/db2/zos/roadmap.html#nine&lt;/a&gt;&lt;br /&gt;You can learn everything u need !&lt;br /&gt;&lt;br /&gt;go if u want to limit ur search go here&lt;br /&gt;pond:&lt;br /&gt;&lt;a href="http://rameshdb2.blogspot.com/"&gt;http://rameshdb2.blogspot.com/&lt;/a&gt;&lt;br /&gt;:-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114675096236613636?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www-306.ibm.com/software/data/db2/zos/roadmap.html#nine' title='DB2 UDB for z/OS Version 8 information roadmap'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114675096236613636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114675096236613636'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/05/db2-udb-for-zos-version-8-information.html' title='DB2 UDB for z/OS Version 8 information roadmap'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114673353576568803</id><published>2006-05-04T14:33:00.000+05:30</published><updated>2006-05-04T14:35:35.766+05:30</updated><title type='text'>Sorting Days of the Week ?</title><content type='html'>Sorting Days of the Week ?&lt;br /&gt;e.g&lt;br /&gt;SELECT   DAY_NAME, COL1, COL2 . . .  FROM     TXN_TABLE         ORDER BY DAY_NAME;&lt;br /&gt;Result will be..&lt;br /&gt;FRI, MON, SAT, SUN, THU, TUE, WED&lt;br /&gt;But this is not correct right ?...&lt;br /&gt;&lt;br /&gt;Visit this site to enrich db2 &amp;amp; find solution&lt;br /&gt;&lt;a href="http://rameshdb2.blogspot.com/"&gt;http://rameshdb2.blogspot.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114673353576568803?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114673353576568803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114673353576568803'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/05/sorting-days-of-week.html' title='Sorting Days of the Week ?'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114646572859004423</id><published>2006-05-01T12:10:00.000+05:30</published><updated>2006-05-01T12:12:08.590+05:30</updated><title type='text'>Certification Roadmap</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/6676/1236/1600/Roadmap.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6676/1236/320/Roadmap.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114646572859004423?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114646572859004423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114646572859004423'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/05/certification-roadmap_01.html' title='Certification Roadmap'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114526768646271398</id><published>2006-04-17T15:17:00.000+05:30</published><updated>2006-04-17T16:39:40.980+05:30</updated><title type='text'>db2 700 :-) !!!!!!!!!!! eh... eh..</title><content type='html'>eh... Today i wrote the exam and got 85% in db2 700.&lt;br /&gt;&lt;br /&gt;Still have to continue my journey ...&lt;br /&gt;Exams 702, 703 to become IBM certified Db2 Administrator(702) &amp;amp; Application Developer (703)&lt;br /&gt;&lt;br /&gt;Hey God(saraswathi) u r on the way for me towards the journey.. Thanks ..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114526768646271398?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114526768646271398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114526768646271398'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/04/db2-700-eh-eh.html' title='db2 700 :-) !!!!!!!!!!! eh... eh..'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114302913443679096</id><published>2006-03-22T17:33:00.000+05:30</published><updated>2006-03-22T17:35:34.450+05:30</updated><title type='text'>DB2 Viper for Z/OS</title><content type='html'>What is DB2 Viper? Its now in Beta version available as &lt;a href="http://www-306.ibm.com/software/data/db2/udb/viper/index_download.html"&gt;free download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Viper is the code name for the upcoming release of DB2. DB2 Viper provides leading edge XML technology removing traditional boundaries of relational databases. It provides ‘native’ storage for XML data, rather than requiring the data to be forced into a column and row format or requiring it to be stored as a large object.&lt;br /&gt;With this new XML technology, the definition of ‘native’ XML refers to providing a physical data storage model representative of the logical model or XML document and stored in a parsed hierarchical format. This definition differs from other leading relational databases, where ‘native’ XML is defined as storing your XML in a BLOB or CLOB, which can be expensive when searching or updating XML data.&lt;br /&gt;By providing two storage formats; relational and native XML under a single database engine, DB2 leads the way by providing a single database to store all your critical business data with the high performance and reliability you expect from a leading database provider.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114302913443679096?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www-306.ibm.com/software/data/db2/udb/viper/' title='DB2 Viper for Z/OS'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114302913443679096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114302913443679096'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/03/db2-viper-for-zos.html' title='DB2 Viper for Z/OS'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114250129820536537</id><published>2006-03-16T14:31:00.000+05:30</published><updated>2006-03-16T14:58:18.206+05:30</updated><title type='text'>Db2 magazine free subscription</title><content type='html'>No fee for DB2 Magazine subscriptions !&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=db2mag"&gt;https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=db2mag&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Signup and get ur free subscription to your home or office.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114250129820536537?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=db2mag' title='Db2 magazine free subscription'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114250129820536537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114250129820536537'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/03/db2-magazine-free-subscription.html' title='Db2 magazine free subscription'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114225636774455152</id><published>2006-03-13T18:19:00.000+05:30</published><updated>2006-03-13T18:56:10.670+05:30</updated><title type='text'>Generating Unique Values in DB2 Universal Database</title><content type='html'>&lt;span style="color:#000066;"&gt;1) GENERATE_UNIQUE function available in DB2 UDB Version 6.1 and later&lt;/span&gt;&lt;a name=""&gt;&lt;span style="color:#000066;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#000066;"&gt;2) IDENTITY column in the CREATE TABLE statement available in DB2 UDB Version 7.1 and   later &lt;/span&gt;&lt;a name=""&gt;&lt;br /&gt;&lt;/a&gt;&lt;span style="color:#000066;"&gt;3) SEQUENCE object available in DB2 UDB Version 7.2 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1)GENERATE_UNIQUE function&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;CREATE TABLE WIDGET_INVENT ( ROW_ID CHAR(13) FOR BIT DATA,   WIDGET_NO CHAR(6),                                                                        INV_COUNT INT WITH DEFAULT 0 );&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;INSERT INTO WIDGET_INVENT      VALUES (GENERATE_UNIQUE(), '000005', 600),                                                                          (GENERATE_UNIQUE(), '000006', 200);&lt;/span&gt;&lt;/em&gt;         &lt;br /&gt;&lt;br /&gt;A trigger can be create on the table WIDGET_INVENT to generate unique values with the insertion of a new row in the table.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;CREATE TRIGGER UPDATE_WIDGET &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                      NO CASCADE &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                      BEFORE INSERT ON WIDGET_INVENT&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                      GET REFERENCING NEW AS NEW_WIDGET &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                      FOR EACH ROW MODE DB2SQL&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                     SET NEW_WIDGET.UNIQUE_ID = GENERATE_UNIQUE(); &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;With this trigger defined, the previous INSERT statement could be issued without the first column as follows:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;INSERT INTO WIDGET_INVENT (WIDGET_NO, INV_COUNT)    &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                                                     VALUES ('000005', 600),  ('000006', 200);  &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;2) &lt;/strong&gt;&lt;a name="section3"&gt;&lt;strong&gt;The identity column&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;CREATE TABLE WIDGET_INVENT&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                ( ROW_ID INT NOT NULL GENERATED ALWAYS AS IDENTITY   &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                (START WITH 1, INCREMENT BY 1, NO CACHE),   &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                  WIDGET_NO CHAR(6),  &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                 INV_COUNT INT WITH DEFAULT 0 ); &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;Data type for the identity column ROW_ID can be int, smallint,bigint,decimal.&lt;br /&gt;Here the system itself set values into Row_id whenever a row is inserted.&lt;br /&gt;A table can have only one identity column.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3) &lt;/strong&gt;&lt;a name="section4"&gt;&lt;strong&gt;The sequence object&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The sequence object is a new feature in DB2 that has been introduced in DB2 UDB Version 7.2 (i.e., DB2 UDB Version 7.1 + fixpak 3). A sequence is a database object that allows the automatic generation of numeric values.&lt;br /&gt;&lt;br /&gt;A sequence exists outside of a table and is not tied to a column of a table. This allows more flexibility in using the sequence values in SQL operations.&lt;br /&gt;&lt;br /&gt;&lt;a name="N10343"&gt;&lt;strong&gt;Creating a sequence&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The sequence is created by issuing the CREATE SEQUENCE command. The user creating a sequence should have either CREATEIN privilege for the implicitly or explicitly specified schema or have either SYSADM or DBADM authority.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;CREATE SEQUENCE myseq  AS INTEGER &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                       START WITH 1  INCREMENT BY 1 &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                       NO MINVALUE  NO MAXVALUE &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                       NO CYCLE &lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;                                      CACHE 10  ORDER&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;where myseq is the name of the sequence.&lt;br /&gt;&lt;br /&gt;&lt;a name="N104AF"&gt;&lt;strong&gt;Using sequences in SQL statements&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After a sequence object has been created as described above, its values can be accessed only through sequence expressions. The next value in the sequence is accessed using the 'NEXTVAL FOR sequence_name' clause and the most recently generated value is accessed using the 'PREVVAL FOR sequence_name' clause.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;SELECT NEXTVAL FOR myseq FROM staff WHERE id=10&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114225636774455152?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114225636774455152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114225636774455152'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/03/generating-unique-values-in-db2.html' title='Generating Unique Values in DB2 Universal Database'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114189325079510323</id><published>2006-03-09T13:57:00.000+05:30</published><updated>2006-03-09T14:04:10.803+05:30</updated><title type='text'>Existence Checking in db2 v7.1</title><content type='html'>We need to use correlated query only on versions below 7.&lt;br /&gt;&lt;br /&gt;We can use Fetch from Db2 version 7 onwards.&lt;br /&gt;&lt;br /&gt;SELECT 1 FROM EMP&lt;br /&gt;                   WHERE LASTNAME = ‘Ramesh'&lt;br /&gt;                    FETCH FIRST 1 ROW ONLY;&lt;br /&gt;&lt;br /&gt;Simple na ?????. :-))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114189325079510323?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114189325079510323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114189325079510323'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/03/existence-checking-in-db2-v71.html' title='Existence Checking in db2 v7.1'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114187612228436596</id><published>2006-03-09T08:50:00.000+05:30</published><updated>2006-03-09T09:18:42.293+05:30</updated><title type='text'>Existence Checking in DB2</title><content type='html'>&lt;u&gt;Four Methods for Existence Checking&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1)  Count :                  SELECT COUNT(*) FROM EMP   WHERE dept-id='EL' &lt;br /&gt;2)  Singleton :            SELECT 1   FROM EMP  WHERE dept-id='EL'     &lt;br /&gt;3)  Non-Correlated:  SELECT 1   FROM SYSIBM.SYSDUMMY1  WHERE&lt;br /&gt;                                     EXISTS  (SELECT 1 FROM EMP  WHERE dept-id='EL' )   &lt;br /&gt;4) Correlated:            SELECT 1   FROM SYSIBM.SYSDUMMY1  A  WHERE  EXISTS                       &lt;br /&gt;(SELECT 1 FROM EMP B   WHERE dept-id='EL'   AND A.IBMREQD = A.IBMREQD )            &lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;why we r using correlated ?.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In singleton the query check the table for all records matching the criteria. If millions of records&lt;br /&gt;are present in table. Then it will check all these records even it founds a matching record hence it takes more time.&lt;br /&gt;&lt;br /&gt;While in correlated, Since the EBCDIC table sysibm.sysdummy1  has one rcord, the subquery stops execute and set the "where exists condition" true after finding the first matching record.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note: Alwasys one record present in sysibm.sysdummy1&lt;br /&gt;           Record:        Y&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Which method is best ? &lt;/span&gt;&lt;span style="color:#006600;"&gt;Lets see later... :-)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114187612228436596?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114187612228436596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114187612228436596'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/03/existence-checking-in-db2.html' title='Existence Checking in DB2'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114119578639797082</id><published>2006-03-01T12:15:00.000+05:30</published><updated>2006-03-01T12:19:46.400+05:30</updated><title type='text'>SQL and DB2 UDB Manuals and Tutorials</title><content type='html'>List of manuals on SQL &lt;a href="http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/FINDBOOK?filter=sql&amp;SUBMIT=Find&amp;amp;Collection=0"&gt;from IBM&lt;/a&gt;&lt;br /&gt;List of manuals on DB2 &lt;a href="http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/FINDBOOK?filter=db2&amp;SUBMIT=Find&amp;amp;Collection=0"&gt;from IBM&lt;/a&gt;&lt;br /&gt;DB2 V8 Reference Library. &lt;a href="http://www-306.ibm.com/software/data/db2/zos/v8books.html"&gt;List of publications.&lt;/a&gt;&lt;br /&gt;DB2 UDB for Z/OS V8. &lt;a href="http://www.redbooks.ibm.com/redbooks/pdfs/sg246079.pdf"&gt;The book you need to find out all there is to know about Version 8. Published May 04. Read this redbook online. PDF&lt;/a&gt;&lt;br /&gt;DB2 UDB for z/OS V8 Command Reference for DB2 Version 8 &lt;a href="http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dsncrj12/CCONTENTS"&gt;IBM SC18-7416-02 03/24/05 &lt;/a&gt;&lt;br /&gt;DB2 UDB for z/OS V8 Application Programming and SQL Guide &lt;a href="http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dsnapj12/"&gt;IBM SC18-7415-02 03/28/05&lt;/a&gt;&lt;br /&gt;DB2 UDB for z/OS V8 SQL Reference &lt;a href="http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dsnsqj12/CCONTENTS"&gt;IBM SC18-7426-02 03/25/05&lt;/a&gt;&lt;br /&gt;DB2 UDB for z/OS V8 Codes &lt;a href="http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dsnsqj12/"&gt;IBM GC18-9603-00 07/12/05&lt;/a&gt;&lt;br /&gt;DB2 UDB for z/OS V8 Utility Guide and Reference &lt;a href="http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dsnugj12/CCONTENTS"&gt;IBM SC18-7427-02 03/23/05&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114119578639797082?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114119578639797082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114119578639797082'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/03/sql-and-db2-udb-manuals-and-tutorials.html' title='SQL and DB2 UDB Manuals and Tutorials'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114119549418486692</id><published>2006-03-01T12:13:00.000+05:30</published><updated>2006-03-01T12:14:54.186+05:30</updated><title type='text'>DB2 equivalent to Oracle's TRUNCATE TABLE</title><content type='html'>Q: What is the DB2 equivalent to Oracle's TRUNCATE TABLE which deletes data from a table without logging it?&lt;br /&gt;A: Do a load replace with SYSREC DUMMY and LOG NO&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114119549418486692?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114119549418486692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114119549418486692'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/03/db2-equivalent-to-oracles-truncate.html' title='DB2 equivalent to Oracle&apos;s TRUNCATE TABLE'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-114119539546452723</id><published>2006-03-01T12:09:00.000+05:30</published><updated>2006-03-01T12:13:15.480+05:30</updated><title type='text'>Can we change the value of primary key in DB2?</title><content type='html'>Consider, empno - integer, not null and primary key&lt;br /&gt;ename - char(20)&lt;br /&gt;esal - decimal(7,2)&lt;br /&gt;I can write a sql statment like,&lt;br /&gt;Code: update emp set empno = empno + 1&lt;br /&gt;&lt;br /&gt;Question :&lt;br /&gt;1) why db2 doesnt raise error while updating primary key ?&lt;br /&gt;We can directly change primary key values using update when there is no foreign key references the primary key&lt;br /&gt;2) In what case, db2 raise error ?&lt;br /&gt;it will give an error if a foreign key is created refering to this primary key.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-114119539546452723?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114119539546452723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/114119539546452723'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/03/can-we-change-value-of-primary-key-in.html' title='Can we change the value of primary key in DB2?'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-113954501151340703</id><published>2006-02-10T09:42:00.000+05:30</published><updated>2006-02-10T09:46:51.546+05:30</updated><title type='text'>Mainframe Blog</title><content type='html'>This is my mainframe blog.. i started this blog long days back, but i failed to post messages. Friends, with hope here after you can see interesting stuffs.&lt;br /&gt;&lt;br /&gt;Blog link : &lt;a href="http://rameshmf.blogspot.com/"&gt;http://rameshmf.blogspot.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-113954501151340703?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://rameshmf.blogspot.com/' title='Mainframe Blog'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/113954501151340703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/113954501151340703'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2006/02/mainframe-blog.html' title='Mainframe Blog'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-113463680004869698</id><published>2005-12-15T14:11:00.000+05:30</published><updated>2005-12-15T14:25:51.576+05:30</updated><title type='text'>Useful Weblinks</title><content type='html'>1) DB2 UDB for OS/390 and z/OS - &lt;a href="http://www-128.ibm.com/developerworks/forums/dw_forum.jsp?forum=293&amp;cat=19"&gt;Developers discussion forum&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2) International DB2 Users Group(&lt;a href="http://idug.org"&gt;IDUG&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Note: to join as member in IDUG, click the following picture&lt;br /&gt;&lt;a href="http://www.idug.org/user/useraccount.asp"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.idug.org/user/useraccount.asp"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/6676/1236/320/idug.0.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-113463680004869698?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/113463680004869698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/113463680004869698'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2005/12/useful-weblinks.html' title='Useful Weblinks'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-113282155662983806</id><published>2005-11-24T13:56:00.000+05:30</published><updated>2005-11-24T14:13:55.563+05:30</updated><title type='text'>Record Existence Checking</title><content type='html'>1) To find whether or not at least one row exists in a table.&lt;br /&gt;&lt;br /&gt;SELECT 'X'&lt;br /&gt;INTO :host-variable&lt;br /&gt;FROM SYSIBM.SYSDUMMY1 SYS&lt;br /&gt;WHERE EXISTS&lt;br /&gt;(SELECT 'X'&lt;br /&gt;&lt;em&gt;FROM EMPLOYEE&lt;br /&gt;WHERE DEPT-ID = 'EC'&lt;/em&gt; AND SYS.IBMREQD = SYS.IBMREQD);&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;The above example will return the following SQL CODES:&lt;br /&gt;                       &lt;br /&gt;0          =          At least one data row exists for the condition in italics&lt;br /&gt;+100    =          Data does not exist for the condition in italics&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2)  To find whether or not at least one row exists in a table and also to know that there is more than one row in the table.&lt;br /&gt;&lt;br /&gt;SELECT 'X'&lt;br /&gt; INTO :host-variable                           &lt;br /&gt;FROM EMPLOYEE WHERE DEPT-ID = 'EC'&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#006600;"&gt;The above example will return the following SQL CODES:&lt;br /&gt;           &lt;br /&gt;0          =          Exactly 1 data row exists for the condition in italics&lt;br /&gt;+100    =          Data does not exist for the condition in italics&lt;br /&gt;-811     =          More than 1 data row exists for the condition in italics  &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-113282155662983806?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/113282155662983806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/113282155662983806'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2005/11/record-existence-checking.html' title='Record Existence Checking'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-113012789432139803</id><published>2005-10-24T09:51:00.000+05:30</published><updated>2005-10-24T09:54:54.326+05:30</updated><title type='text'>DB2-Codd's rules</title><content type='html'>&lt;div align="justify"&gt;      &lt;span style="color:#990000;"&gt;Dr. E.F. Codd&lt;/span&gt;, an IBM researcher, first developed the relational data model in 1970. In 1985, Dr. Codd published a list of 12 rules that concisely define an ideal relational database, which have provided a guideline for the design of all relational database systems ever since. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#006600;"&gt;&lt;strong&gt;Rule 1:&lt;/strong&gt;&lt;/span&gt; The Information Rule All data should be presented to the user in table form. Last week's newsletter already discussed the basics of this rule. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Rule 2:&lt;/strong&gt; Guaranteed Access Rule All data should be accessible without ambiguity. This can be accomplished through a combination of the table name, primary key, and column name. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Rule 3:&lt;/strong&gt; Systematic Treatment of Null Values A field should be allowed to remain empty. This involves the support of a null value, which is distinct from an empty string or a number with a value of zero. Of course, this can't apply to primary keys. In addition, most database implementations support the concept of a nun- null field constraint that prevents null values in a specific table column. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Rule 4:&lt;/strong&gt; Dynamic On-Line Catalog Based on the Relational Model A relational database must provide access to its structure through the same tools that are used to access the data. This is usually accomplished by storing the structure definition within special system tables. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Rule 5:&lt;/strong&gt; Comprehensive Data Sublanguage Rule The database must support at least one clearly defined language that includes functionality for data definition, data manipulation, data integrity, and database transaction control. All commercial relational databases use forms of the standard SQL (Structured Query Language) as their supported comprehensive language. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Rule 6:&lt;/strong&gt; View Updating Rule Data can be presented to the user in different logical combinations, called views. Each view should support the same full range of data manipulation that direct-access to a table has available. In practice, providing update and delete access to logical views is difficult and is not fully supported by any current database. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Rule 7:&lt;/strong&gt; High-level Insert, Update, and Delete Data can be retrieved from a relational database in sets constructed of data from multiple rows and/or multiple tables. This rule states that insert, update, and delete operations should be supported for any retrievable set rather than just for a single row in a single table. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Rule 8:&lt;/strong&gt; Physical Data Independence The user is isolated from the physical method of storing and retrieving information from the database. Changes can be made to the underlying architecture ( hardware, disk storage methods ) without affecting how the user accesses it. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Rule 9:&lt;/strong&gt; Logical Data Independence How a user views data should not change when the logical structure (tables structure) of the database changes. This rule is particularly difficult to satisfy. Most databases rely on strong ties between the user view of the data and the actual structure of the underlying tables. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Rule 10:&lt;/strong&gt; Integrity Independence The database language (like SQL) should support constraints on user input that maintain database integrity. This rule is not fully implemented by most major vendors. At a minimum, all databases do preserve two constraints through SQL. No component of a primary key can have a null value. (see rule 3) If a foreign key is defined in one table, any value in it must exist as a primary key in another table. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Rule 11:&lt;/strong&gt; Distribution Independence A user should be totally unaware of whether or not the database is distributed (whether parts of the database exist in multiple locations). A variety of reasons make this rule difficult to implement; I will spend time addressing these reasons when we discuss distributed databases. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Rule 12:&lt;/strong&gt; Nonsubversion Rule There should be no way to modify the database structure other than through the multiple row database language (like SQL). Most databases today support administrative tools that allow some direct manipulation of the datastructure. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-113012789432139803?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/113012789432139803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/113012789432139803'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2005/10/db2-codds-rules_24.html' title='DB2-Codd&apos;s rules'/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-112805843577108842</id><published>2005-09-30T10:54:00.000+05:30</published><updated>2005-10-20T09:39:20.853+05:30</updated><title type='text'></title><content type='html'>&lt;strong&gt;&lt;span style="color:#003300;"&gt;Db2 UDB editions&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;div align="justify"&gt;DB2 UDB for Linux, UNIX, and Windows (sometimes referred to as LUW) is developed using the C/C++ language; more than ninety percent of the code is common among these platforms. The remaining code is unique to take full advantage of the underlying platform architecture; however, the database functionality on all of these platforms is the same.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;em&gt;&lt;span style="color:#000066;"&gt;db2 edititions build on top of each other&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;em&gt;&lt;span style="color:#000066;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6676/1236/320/01fig03.gif" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;&lt;span style="color:#000099;"&gt;db2 UDB editions&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;em&gt;&lt;span style="color:#000099;"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6676/1236/320/01fig04.gif" border="0" /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-112805843577108842?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/112805843577108842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/112805843577108842'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2005/09/db2-udb-editions-db2-udb-for-linux.html' title=''/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-112805729393659976</id><published>2005-09-30T10:42:00.000+05:30</published><updated>2005-10-20T09:39:34.323+05:30</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;History of DB2&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Since the 1970s, when IBM Research invented the Relational Model and the Structured Query Language (SQL), IBM has developed a complete family of RDBMS software. Development started on mainframe platforms such as Virtual Machine (VM), Virtual Storage Extended (VSE), and Multiple Virtual Storage (MVS).&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff6600;"&gt;&lt;em&gt;&lt;strong&gt;In 1983, DB2 for MVS Version 1 was born.&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt; "DB2" was used to indicate a shift from hierarchical databases like Information Management System (IMS).&lt;br /&gt;&lt;br /&gt;In 1996, IBM announced DB2 UDB Version 5 for distributed platforms. With this version, DB2 was able to store all kinds of electronic data, including traditional relational data, as well as audio, video, and text documents. It was the first version optimized for the Web, and it supported a range of distributed platforms; for example, OS/2, Windows, AIX, HP-UX, and Solaris from multiple vendors.&lt;br /&gt;&lt;br /&gt;Moreover, this universal database was able to run on a variety of hardware, from uniprocessor systems and symmetric multiprocessor (SMP) systems to massively parallel processing (MPP) systems and clusters of SMP systems. IBM included the term &lt;strong&gt;&lt;span style="color:#3333ff;"&gt;"Universal"&lt;/span&gt;&lt;/strong&gt; in the name to represent the new capabilities of this version. All versions of DB2 on distributed platforms and on MVS, AS/400, VM, and VSE have adopted the name DB2 UDB.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-112805729393659976?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/112805729393659976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/112805729393659976'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2005/09/history-of-db2-since-1970s-when-ibm_30.html' title=''/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-112787932520473687</id><published>2005-09-28T09:16:00.000+05:30</published><updated>2005-10-20T09:43:41.286+05:30</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;span style="color:#006600;"&gt;&lt;strong&gt;DB2 Engines&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The DB2 family of database servers spans a wide variety of UNIX, Linux and Windows platforms and the IBM iSeries (OS/400 operating system) and zSeries (OS/390, z/OS, VM, VSE and Linux) server lines.&lt;br /&gt;&lt;br /&gt;DB2 for z/OS is developed at Silicon Valley Labs.&lt;br /&gt;DB2 for VM and VSE is developed at Böblingen (known affectionately as Bubblegum).&lt;br /&gt;DB2 for LUW - &lt;strong&gt;&lt;span style="color:#006600;"&gt;L&lt;/span&gt;&lt;/strong&gt;inux, &lt;span style="color:#006600;"&gt;&lt;strong&gt;U&lt;/strong&gt;&lt;/span&gt;nix, &lt;strong&gt;&lt;span style="color:#006600;"&gt;W&lt;/span&gt;&lt;/strong&gt;indows is developed at Toronto.&lt;br /&gt;DB2 for iSeries is developed at Rochester.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-112787932520473687?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/112787932520473687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/112787932520473687'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2005/09/db2-engines-db2-family-of-database.html' title=''/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14924341.post-112295514996094395</id><published>2005-08-02T09:23:00.000+05:30</published><updated>2005-10-20T09:43:57.060+05:30</updated><title type='text'></title><content type='html'>&lt;p&gt;&lt;strong&gt;Syntax for selecting a single row? &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;you can try fetch 1 row only in the last part of the sql&lt;/p&gt;&lt;p&gt;select * from sysibm.sysprocedures fetch first 1 rows only&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Adding strings with spaces in DB2&lt;/strong&gt; &lt;/p&gt;&lt;p align="left"&gt;Try casting the literal to a CHAR of a required lenght, e.g. INSERT CAST(' TEST ' AS CHAR(6)) ...&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;What is the life of a cursor?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The cursor is open until a commit happens (unless WITH HOLD is used). The only exception (besides WITH HOLD) is if the connection to DB2 is terminated.However, just because a cursor is open, does not mean that any rows have been retrieved or that the result set has be materialized (this depends on several factors). It just means the cursor is open.There is no timeout as long as the application is still actively running. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14924341-112295514996094395?l=db2.whitelotus.co.in' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/112295514996094395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14924341/posts/default/112295514996094395'/><link rel='alternate' type='text/html' href='http://db2.whitelotus.co.in/2005/08/syntax-for-selecting-single-row-you.html' title=''/><author><name>Ramesh</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
