<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>还是那只鱼-newcoin&#039;s blog &#187; DB2</title>
	<atom:link href="http://www.newcoin.info/tag/db2/feed" rel="self" type="application/rss+xml" />
	<link>http://www.newcoin.info</link>
	<description>人生没有彩排，每天都是现场直播...</description>
	<lastBuildDate>Thu, 02 Feb 2012 12:51:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>JCL/COBOL/DB2/CICS/VASM考试题</title>
		<link>http://www.newcoin.info/jclcoboldb2cicsvasm%e8%80%83%e8%af%95%e9%a2%98.html</link>
		<comments>http://www.newcoin.info/jclcoboldb2cicsvasm%e8%80%83%e8%af%95%e9%a2%98.html#comments</comments>
		<pubDate>Fri, 17 Apr 2009 09:21:10 +0000</pubDate>
		<dc:creator>newcoin</dc:creator>
				<category><![CDATA[大型机｜Mainframe]]></category>
		<category><![CDATA[CICS]]></category>
		<category><![CDATA[cobol]]></category>
		<category><![CDATA[DB2]]></category>
		<category><![CDATA[IBM大型机]]></category>
		<category><![CDATA[JCL]]></category>
		<category><![CDATA[VASM]]></category>
		<category><![CDATA[大型机培训]]></category>
		<category><![CDATA[考试题库]]></category>

		<guid isPermaLink="false">http://www.newcoin.info/?p=27585</guid>
		<description><![CDATA[这些都是曾经我在参加大型机培训时做过的一些考试题目，特拿出来分享一下，主要是关于IBM大型机方面的知识，涉及到JCL/COBOL/DB2/CICS/VASM等方面，题目不多，但基本上都是重点，是必须得掌握的，有兴趣的可以拿去自测一下。不懂的可以问我，呵呵。 JCL Exam (60 Minutes) Name: _____________ Grade: ____________ 1. What is the difference between the JOBLIB and the STEPLIB statements? The position difference.joblib adapts whole job,steplib only exec. 2. Name some of the JCL statements that are not allowed in PROCs. Job statements,dd * statements,dd data statements,/*,null statements 3. What does a dispositions of (NEW,CATLG, KEEP) means? 4. What are three major types of JCL statements? What are their functions? Job,exec,dd statements. 5. What is the difference between catalogue procedure and In-Stream procedure? Position,调用member name,pro name, 6. What is a COND parameter in JCL? 1,position (exec,job)2, 7. How do you check the syntax of a JCL without running it? Typrun=scan 8. How do you override a specific DDNAME/SYSIN in PROC from a JCL? 调用时Dda  dsn=另外一个，dsn=,这样就是制空 9. A PROC has five steps.  Step 3 has a condition code.  How can you override or nullify this condition code? 指定到那个proc的作业步，cond(2,eq,),nullify用even 10. How do you create a temporary dataset?  Where will you use them? Dsn=&#38;&#38;    参数（new,pass,delete）下去的,这样就是temporary （http://www.newcoin.info) DB2 Exam (60 Minutes) Name: _____________ Grade: ____________ 1. How do you eliminate duplicate values in SELECT? 2. What do you accomplish by GROUP BY &#8230; HAVING clause? 3. Why SELECT * is not preferred in embedded SQL programs? 4. What is a cursor? Why should it be used? List the SQL statement for cursors. 5. What is a DB2 bind? 6. What is a host variable? How do you use it? 7. Is it mandatory to use DCLGEN? If not, why would you use it at all? 8. Give the COBOL definition of a VARCHAR field. 9. What does SQLCODE +100 means？ 10. How do you run DB2 batch program? Write down the JCL statements. （http://www.newcoin.info) VSAM Exam (60 Minutes) Name: _____________ Grade: ____________ 1. What are the four types of VSAM datasets? 2. What is a CI? 3. In the COBOL SELECT statement what is the ORGANIZATION for a KSDS? 4. What is the purpose of the FILE STATUS clause in the SELECT statement? 5. There are at least seven IDCAMS commands; name and explain each of them. 6. What is the meaning of each of the values in SHAREOPTS (2 3)? 7. How do you define a KSDS using IDCAMS? 8. How do you define an ALTINDX? How do you use ALTINDXs in batch, CICS programs? （http://www.newcoin.info) CICS Exam (60 Minutes) [...]]]></description>
			<content:encoded><![CDATA[<p>这些都是曾经我在参加大型机培训时做过的一些考试题目，特拿出来分享一下，主要是关于IBM大型机方面的知识，涉及到JCL/COBOL/DB2/CICS/VASM等方面，题目不多，但基本上都是重点，是必须得掌握的，有兴趣的可以拿去自测一下。不懂的可以问我，呵呵。</p>
<p><span id="more-27585"></span></p>
<p><strong>JCL Exam</strong></p>
<p>(60 Minutes)</p>
<p>Name: _____________								Grade: ____________</p>
<p>1. What is the difference between the JOBLIB and the STEPLIB statements?</p>
<p>The position difference.joblib adapts whole job,steplib only exec.</p>
<p>2. Name some of the JCL statements that are not allowed in PROCs.</p>
<p>Job statements,dd * statements,dd data statements,/*,null statements</p>
<p>3. What does a dispositions of (NEW,CATLG, KEEP) means?</p>
<p>4. What are three major types of JCL statements? What are their functions?</p>
<p>Job,exec,dd statements.</p>
<p>5. What is the difference between catalogue procedure and In-Stream procedure?</p>
<p>Position,调用member name,pro name,</p>
<p>6. What is a COND parameter in JCL?</p>
<p>1,position (exec,job)2,</p>
<p>7. How do you check the syntax of a JCL without running it?</p>
<p>Typrun=scan</p>
<p>8. How do you override a specific DDNAME/SYSIN in PROC from a JCL?</p>
<p>调用时Dda  dsn=另外一个，dsn=,这样就是制空</p>
<p>9. A PROC has five steps.  Step 3 has a condition code.  How can you override or nullify this condition code?</p>
<p>指定到那个proc的作业步，cond(2,eq,),nullify用even</p>
<p>10. How do you create a temporary dataset?  Where will you use them?</p>
<p>Dsn=&amp;&amp;    参数（new,pass,delete）下去的,这样就是temporary</p>
<p><a href="http://www.newcoin.info">（http://www.newcoin.info)</a></p>
<p><strong>DB2 Exam</strong></p>
<p>(60 Minutes)</p>
<p>Name: _____________								Grade: ____________</p>
<p>1. How do you eliminate duplicate values in SELECT?</p>
<p>2. What do you accomplish by GROUP BY &#8230; HAVING clause?</p>
<p>3. Why SELECT * is not preferred in embedded SQL programs?</p>
<p>4. What is a cursor? Why should it be used? List the SQL statement for cursors.</p>
<p>5. What is a DB2 bind?</p>
<p>6. What is a host variable? How do you use it?</p>
<p>7. Is it mandatory to use DCLGEN? If not, why would you use it at all?</p>
<p>8. Give the COBOL definition of a VARCHAR field.</p>
<p>9. What does SQLCODE +100 means？</p>
<p>10. How do you run DB2 batch program? Write down the JCL statements.</p>
<p><a href="http://www.newcoin.info">（http://www.newcoin.info)</a></p>
<div class="Section0">
<p><strong>VSAM Exam</strong></p>
<p>(60 Minutes)</p>
<p>Name: _____________								Grade: ____________</p>
<p>1. What are the four types of VSAM datasets?</p>
<p>2. What is a CI?</p>
<p>3. In the COBOL SELECT statement what is the ORGANIZATION for a KSDS?</p>
<p>4. What is the purpose of the FILE STATUS clause in the SELECT statement?</p>
<p>5. There are at least seven IDCAMS commands; name and explain each of them.</p>
<p>6. What is the meaning of each of the values in SHAREOPTS (2 3)?</p>
<p>7. How do you define a KSDS using IDCAMS?</p>
<p>8. How do you define an ALTINDX? How do you use ALTINDXs in batch, CICS programs?</p></div>
<div class="Section0"></div>
<div class="Section0"><a href="http://www.newcoin.info">（http://www.newcoin.info)</a></div>
<div class="Section0"></div>
<div class="Section0">
<p><strong>CICS Exam</strong></p>
<p>(60 Minutes)</p>
<p>Name: _____________								Grade: ____________</p>
<p>1. Specify the CICS command used to read a VSAM record starting with prefix &#8221;F&#8221;. Code all the relevant options.</p>
<p>2. What option is specified in the SEND command to send only the unnamed fields on to the screen? Give out the complete command.</p>
<p>3. What does &#8221;Pseudo Conversational&#8221; mean? What is the EIB parameter and the CICS command used to implement Pseudo-Conversational technique?</p>
<p>4. What are the differences between an EXEC CICS XCTL and an EXEC CICS LINK command?</p>
<p>5. Explain how to handle exceptional conditions in CICS. List at least four types and give detail description of them.</p>
<p>6. What are the differences between Temporary Storage Queue (TSQ) and Transient Data Queue (TDQ)?</p>
<p>7. what do the following transactions do?</p>
<p>CEDF:</p>
<p>CEMT:</p>
<p>CEBR:</p>
<p>CECI:</p>
<p>CESN:</p>
<p>CESF:</p>
<p>CEDA:</p>
<p>8. What is DFHEIBLK? List some items of it and describe these items&#8217; meaning.</p>
<p><a href="http://www.newcoin.info">（http://www.newcoin.info)</a></p>
<p><strong>COBOL Exam</strong></p>
<p>(60 Minutes)</p>
<p>Name: _____________								Grade: ____________</p>
<p>1. Name the four divisions in a COBOL program.</p>
<p>2. How do you define a table/array in COBOL? Give an example.</p>
<p>3. How do you sort in a COBOL program?  Give sort file definition, sort statement syntax and meaning.</p>
<p>4. What is the difference between comp and comp-3 usage? Explain other COBOL usages.</p>
<p>5. What is the difference between SEARCH and SEARCH ALL? What is more efficient?</p>
<p>6. What is PERFORM? What is VARYING? Give more details description about these clauses.</p>
<p>7. What is redefines clause? Give an example.</p>
<p>8. What is CALL statement in COBOL? List the different types of call.</p>
<p><a href="http://www.newcoin.info">（http://www.newcoin.info)</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.newcoin.info/jclcoboldb2cicsvasm%e8%80%83%e8%af%95%e9%a2%98.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Table Pending的解决方法</title>
		<link>http://www.newcoin.info/table-pending%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95.html</link>
		<comments>http://www.newcoin.info/table-pending%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95.html#comments</comments>
		<pubDate>Thu, 09 Apr 2009 08:57:56 +0000</pubDate>
		<dc:creator>newcoin</dc:creator>
				<category><![CDATA[大型机｜Mainframe]]></category>
		<category><![CDATA[DB2]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[rebuild]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Table Pending]]></category>
		<category><![CDATA[大型机]]></category>

		<guid isPermaLink="false">http://www.newcoin.info/?p=27473</guid>
		<description><![CDATA[当load或使用一些utility以及一些SQL语句的时候，工作表正处于pending，会出现如下类似错误信息，某种资源不可用等等。 Unsuccessful execution caused by an unavailable resource.  Reason code 00C900A0, type of resource 00000200, and resource name… 如出现上述情况，我们可以对这整个database下面的所有index，tablespace进行display，display信息如下所述，当出现pengding code为RBDP的时候。对这个index进行rebuild就可以，如果出现不是这个pengding code而为其他code的时候，比如RBDP*等等都可以采用相应的语句就可以恢复，只要把下面的rebuild代码替换成相应的解决方案即可。 Indexname1 IX RW,RBDP indexname2 IX         RW 切记如果是本番的情况下，要慎重考虑rebuild，因为有可能是本番job在锁定某张表。如果强行rebuild的话。可能带来一些灾难性的后果。 详细代码可以参考下面的实例。 Display出database中所有的index以及tablespace的名字，以及是否处于某种pending的状态. //SYSDISP  PROC //RESET    EXEC PGM=IKJEFT01,DYNAMNBR=20 //STEPLIB  DD  DSN=SUN.SDSNLOAD,DISP=SHR //SYSTSPRT DD  SYSOUT=* //SYSPRINT DD  SYSOUT=* //SYSUDUMP DD  SYSOUT=* //OUTPUT DD  SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=27930) //SYSTSIN  DD  DUMMY //      PEND //DISP01   EXEC SYSDISP //SYSTSIN  DD  * DSN SYSTEM(SUN) -DIS DATABASE(DATABASE1) LIMIT(999) END /* 对处于pending状态的index进行REBUILD操作。 //REPAIR1 EXEC PGM=DSNUTILB,PARM=&#8217;SUN&#8217;,COND=EVEN //STEPLIB  DD  DSN=SUN.SDSNLOAD,DISP=SHR //SYSPRINT DD  SYSOUT=* //UTPRINT  DD  SYSOUT=* //SYSUDUMP DD  SYSOUT=* //SYSUT1   DD  UNIT=SYSDA,SPACE=(CYL,(10,10)) //SYSIN    DD  * REBUILD INDEX(schema.index) /* Rebuild 后table恢复正常]]></description>
			<content:encoded><![CDATA[<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">当load或使用一些utility以及一些SQL语句的时候，工作表正处于pending，会出现如下类似错误信息，某种资源不可用等等。</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000;"><span style="font-size: 10.5pt; font-family: 'Arial';">Unsuccessful execution caused by an unavailable resource.  Reason code</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000;"><span style="font-size: 10.5pt; font-family: 'Arial';">00C900A0, type of resource 00000200, and resource name…</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">如出现上述情况，我们可以对这整个database下面的所有index，tablespace进行display，display信息如下所述，当出现pengding code为RBDP的时候。对这个index进行rebuild就可以，如果出现不是这个pengding code而为其他code的时候，比如RBDP*等等都可以采用相应的语句就可以恢复，只要把下面的rebuild代码替换成相应的解决方案即可。</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';"> <span id="more-27473"></span><br />
</span>
</p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">Indexname1 IX </span><span style="color: #ff8100; font-size: 10.5pt; font-family: 'Arial';"> RW,RBDP </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">indexname2 IX         RW</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">切记如果是本番的情况下，要慎重考虑rebuild，因为有可能是本番job在锁定某张表。如果强行rebuild的话。可能带来一些灾难性的后果。</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">详细代码可以参考下面的实例。</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<table style="border-collapse: collapse; margin-left: 5.4pt;" border="0">
<tbody>
<tr>
<td style="border: 0.75pt solid #000000; padding: 0pt; width: 211.65pt;" width="282" valign="top">
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">Display出database中所有的index以及tablespace的名字，以及是否处于某种pending的状态.</span></p>
</td>
<td style="padding: 0pt; width: 291.6pt;" width="388" valign="top">
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSDISP  PROC </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//RESET    EXEC PGM=IKJEFT01,DYNAMNBR=20 </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//STEPLIB  DD  DSN=SUN.SDSNLOAD,DISP=SHR </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSTSPRT DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSPRINT DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSUDUMP DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//OUTPUT DD  SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=27930) </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSTSIN  DD  DUMMY </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//      PEND </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//DISP01   EXEC SYSDISP </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSTSIN  DD  * </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';"> DSN SYSTEM(SUN) </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';"> -DIS DATABASE(</span><span style="color: #0000ff; font-size: 10.5pt; font-family: 'Arial';">DATABASE1</span><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">) LIMIT(999) </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';"> END </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">/*</span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
</td>
</tr>
<tr>
<td style="padding: 0pt; width: 211.65pt;" width="282" valign="top">
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">对处于pending状态的index进行</span><span style="color: #0000ff; font-size: 10.5pt; font-family: 'Arial';">REBUILD</span><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">操作。</span></p>
</td>
<td style="padding: 0pt; width: 291.6pt;" width="388" valign="top">
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//REPAIR1 EXEC PGM=DSNUTILB,PARM=&#8217;SUN&#8217;,COND=EVEN </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//STEPLIB  DD  DSN=SUN.SDSNLOAD,DISP=SHR </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSPRINT DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//UTPRINT  DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSUDUMP DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSUT1   DD  UNIT=SYSDA,SPACE=(CYL,(10,10)) </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSIN    DD  * </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';"> REBUILD INDEX(</span><span style="color: #0000ff; font-size: 10.5pt; font-family: 'Arial';">schema.index</span><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">) </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">/* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
</td>
</tr>
</tbody>
</table>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #0000ff; font-weight: bold; font-size: 10.5pt; font-family: 'Arial';"> </span><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">Rebuild 后table恢复正常</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.newcoin.info/table-pending%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DB2错误代码/SQL返回码信息对照</title>
		<link>http://www.newcoin.info/db2%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81%e5%af%b9%e7%85%a7%ef%bc%8csql%e8%bf%94%e5%9b%9e%e7%a0%81%e4%bf%a1%e6%81%af%e5%af%b9%e7%85%a7.html</link>
		<comments>http://www.newcoin.info/db2%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81%e5%af%b9%e7%85%a7%ef%bc%8csql%e8%bf%94%e5%9b%9e%e7%a0%81%e4%bf%a1%e6%81%af%e5%af%b9%e7%85%a7.html#comments</comments>
		<pubDate>Thu, 02 Apr 2009 09:30:26 +0000</pubDate>
		<dc:creator>newcoin</dc:creator>
				<category><![CDATA[大型机｜Mainframe]]></category>
		<category><![CDATA[DB2]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sqlcode]]></category>
		<category><![CDATA[对照]]></category>
		<category><![CDATA[错误代码]]></category>
		<category><![CDATA[错误信息]]></category>

		<guid isPermaLink="false">http://www.newcoin.info/?p=27437</guid>
		<description><![CDATA[用COBOL链接DB2时，出现DB2错误信息时，如果你不懂代码是什么意思，可以用这份资料查找， 当然你也可以直接在db2的命令行下输入：db2 ? SQL30081N，系统会给出一些提示信息. sqlcode sqlstate DB2错误信息（按sqlcode排序） 000 00000 SQL语句成功完成 01xxx SQL语句成功完成，但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 +098 01568 动态SQL语句用分号结束 +100 02000 没有找到满足SQL语句的行 +110 01561 用DATA CAPTURE定义的表的更新操作不能发送到原来的子系统 +111 01590 为2型索引设置了SUBPAGES语句 +117 01525 要插入的值的个数不等于被插入表的列数 +162 01514 指定的表空间被置为检查挂起状态 +203 01552 使用非唯一的名字来解决命名的限定列 +204 01532 命名的对象未在DB2中定义 +206 01533 命名的列不在SQL语句中指定的任何表中存在 +218 01537 因为SQL语句引用一个远程对象，不能为该SQL语句执行EXPLAIN +219 01532 命名的PLAN TABLE不存在 +220 01546 不正确定义PLAN TABLE，检查命名列的定义 +236 [...]]]></description>
			<content:encoded><![CDATA[<p>用COBOL链接DB2时，出现DB2错误信息时，如果你不懂代码是什么意思，可以用这份资料查找，</p>
<p>当然你也可以直接在db2的命令行下输入：db2 ? SQL30081N，系统会给出一些提示信息.</p>
<p><span id="more-27437"></span></p>
<table style="height: 10020px;" border="0" width="728">
<tbody>
<tr>
<td></td>
</tr>
<tr>
<td>sqlcode</td>
<td>sqlstate</td>
<td>DB2错误信息（按sqlcode排序）</td>
</tr>
<tr>
<td>000</td>
<td>00000</td>
<td>SQL语句成功完成</td>
</tr>
<tr>
<td></td>
<td>01xxx</td>
<td>SQL语句成功完成，但是有警告</td>
</tr>
<tr>
<td>+012</td>
<td>01545</td>
<td>未限定的列名被解释为一个有相互关系的引用</td>
</tr>
<tr>
<td>+098</td>
<td>01568</td>
<td>动态SQL语句用分号结束</td>
</tr>
<tr>
<td>+100</td>
<td>02000</td>
<td>没有找到满足SQL语句的行</td>
</tr>
<tr>
<td>+110</td>
<td>01561</td>
<td>用DATA CAPTURE定义的表的更新操作不能发送到原来的子系统</td>
</tr>
<tr>
<td>+111</td>
<td>01590</td>
<td>为2型索引设置了SUBPAGES语句</td>
</tr>
<tr>
<td>+117</td>
<td>01525</td>
<td>要插入的值的个数不等于被插入表的列数</td>
</tr>
<tr>
<td>+162</td>
<td>01514</td>
<td>指定的表空间被置为检查挂起状态</td>
</tr>
<tr>
<td>+203</td>
<td>01552</td>
<td>使用非唯一的名字来解决命名的限定列</td>
</tr>
<tr>
<td>+204</td>
<td>01532</td>
<td>命名的对象未在DB2中定义</td>
</tr>
<tr>
<td>+206</td>
<td>01533</td>
<td>命名的列不在SQL语句中指定的任何表中存在</td>
</tr>
<tr>
<td>+218</td>
<td>01537</td>
<td>因为SQL语句引用一个远程对象，不能为该SQL语句执行EXPLAIN</td>
</tr>
<tr>
<td>+219</td>
<td>01532</td>
<td>命名的PLAN TABLE不存在</td>
</tr>
<tr>
<td>+220</td>
<td>01546</td>
<td>不正确定义PLAN TABLE，检查命名列的定义</td>
</tr>
<tr>
<td>+236</td>
<td>01005</td>
<td>SQLDA中的SQLN的值至少应于所描述的列的个数一样大</td>
</tr>
<tr>
<td>+237</td>
<td>01594</td>
<td>至少有一个被描述的列应该是单值类型，因此扩展的SQLVAR条目需要另外的空间</td>
</tr>
<tr>
<td>+238</td>
<td>01005</td>
<td>至少应有一个被描述的列是一个LOB，因此扩展的SQLVAR条目需要另外的空间</td>
</tr>
<tr>
<td>+239</td>
<td>01005</td>
<td>至少应有一个被描述的列应是单值类型，因此扩展的SQLVAR条目需要另外的空间</td>
</tr>
<tr>
<td>+304</td>
<td>01515</td>
<td>该值不能被分配给宿主变量，因为该值不再数据类型的范围之内</td>
</tr>
<tr>
<td>+331</td>
<td>01520</td>
<td>不能被翻译的字符串，因此被设置为NULL</td>
</tr>
<tr>
<td>+339</td>
<td>01569</td>
<td>由于与DB2 2.2版本的子系统连接，所以可能存在字符转换问题</td>
</tr>
<tr>
<td>+394</td>
<td>01629</td>
<td>使用优化提示来选择访问路径</td>
</tr>
<tr>
<td>+395</td>
<td>01628</td>
<td>设置了无效的优化提示，原因代码指定了为什么，忽略优化提示</td>
</tr>
<tr>
<td>+402</td>
<td>01521</td>
<td>未知的位置</td>
</tr>
<tr>
<td>+403</td>
<td>01522</td>
<td>本地不存在CREAT ALIAS对象</td>
</tr>
<tr>
<td>+434</td>
<td>01608</td>
<td>在DB2未来发布的版本中将不支持指定的特性，IBM建议你停止使用这些特性</td>
</tr>
<tr>
<td>+445</td>
<td>01004</td>
<td>值被CAST函数截取</td>
</tr>
<tr>
<td>+462</td>
<td>01Hxx</td>
<td>由用户定义的函数或存储过程发出的警告</td>
</tr>
<tr>
<td>+464</td>
<td>01609</td>
<td>命名的存储过程超出了它可能返回的查询结果集的个数限制</td>
</tr>
<tr>
<td>+466</td>
<td>01610</td>
<td>指定由命名的存储过程返回的查询结果集的个数。成功完成</td>
</tr>
<tr>
<td>+494</td>
<td>01614</td>
<td>由存储过程返回的结果集的个数超过了由ASSOCIATE LOCATORS语句指定的结果集定位器的个数</td>
</tr>
<tr>
<td>+495</td>
<td>01616</td>
<td>因为倒台SQL的成本估算超出了在ELST中指定的警告阀值，所以发出警告</td>
</tr>
<tr>
<td>+535</td>
<td>01591</td>
<td>请求一个主健的定位更新，或请求一个使用自我引出 约束的表的删除操作</td>
</tr>
<tr>
<td>+541</td>
<td>01543</td>
<td>命名外健是一个重复的引用约束</td>
</tr>
<tr>
<td>+551</td>
<td>01548</td>
<td>命名的授权ID缺少在命名的DB2对象上执行命名操作的权限</td>
</tr>
<tr>
<td>+552</td>
<td>01542</td>
<td>命名的授权ID缺少执行命名操作的权限</td>
</tr>
<tr>
<td>+558</td>
<td>01516</td>
<td>已经被授权该PUBLIC，因此WITH GRANT OPTION不可用</td>
</tr>
<tr>
<td>+561</td>
<td>01523</td>
<td>对ALTER REFERENCES INDEX 和TRIGGER特权，PUBLIC AT ALL LOCATION无效</td>
</tr>
<tr>
<td>+562</td>
<td>01560</td>
<td>因为GRANTEE已经拥有这些特权，所以一个或更多的特权被忽略</td>
</tr>
<tr>
<td>+585</td>
<td>01625</td>
<td>模式名指定了不止一次</td>
</tr>
<tr>
<td>+599</td>
<td>01596</td>
<td>没有为长字符数据类型（BLOB，CLOB和DBCLOB）建立比较函数</td>
</tr>
<tr>
<td>+610</td>
<td>01566</td>
<td>由于建立了一个指定为DEFER YES的索引，指定的对象处于PENDING状态，或者因为使用了ALTER INDEX改变关键值的范围，所以指定的对象处于PENDING状态</td>
</tr>
<tr>
<td>+625</td>
<td>01518</td>
<td>因为删除了主健索引，所以表定义被标注为不完整</td>
</tr>
<tr>
<td>+626</td>
<td>01529</td>
<td>删除了加强UNIQUE约束的索引，唯一性不在被加强</td>
</tr>
<tr>
<td>+645</td>
<td>01528</td>
<td>因为建立的索引中没有包含NULL，所以WHERE NOT NULL被忽略</td>
</tr>
<tr>
<td>+650</td>
<td>01538</td>
<td>不能更改或者建立已命名的表为从属表</td>
</tr>
<tr>
<td>+653</td>
<td>01551</td>
<td>在已指定的分区表空间中尚没有建立指定的分区索引，所以分区索引不可得</td>
</tr>
<tr>
<td>+655</td>
<td>01597</td>
<td>为CREATE或ALTER STOGROUP语句指定特定或者非特定的卷ID，在DB2较新发布的版本中（版本6以后）将不再支持他们</td>
</tr>
<tr>
<td>+658</td>
<td>01600</td>
<td>当建立目录索引时，不能指定SUBPAGES语句，SUBPAGES将被忽略，并缺省为1</td>
</tr>
<tr>
<td>+664</td>
<td>01540</td>
<td>分区索引的限制关键字超出了最大值</td>
</tr>
<tr>
<td>+738</td>
<td>01530</td>
<td>已命名的对象的更改可能像只读系统中对象的改变要求一样</td>
</tr>
<tr>
<td>+799</td>
<td>0157</td>
<td>SET语句中引用的特定寄存器不存在，将忽略 SET请求</td>
</tr>
<tr>
<td>+802</td>
<td>01519</td>
<td>数据溢出或者因除法异常而引起的数据异常错误</td>
</tr>
<tr>
<td>+806</td>
<td>01553</td>
<td>ISOLATION（RR）与LOCKSIZE PAGE 冲突</td>
</tr>
<tr>
<td>+807</td>
<td>01554</td>
<td>由于十进制乘法导致溢出</td>
</tr>
<tr>
<td>+863</td>
<td>01539</td>
<td>连接成功，但是只支持SBCS</td>
</tr>
<tr>
<td>+2000</td>
<td>56094</td>
<td>SUBPAGES不等于1的1型索引不能成为数据共享环境中的缓冲池组依赖者</td>
</tr>
<tr>
<td>+2002</td>
<td>01624</td>
<td>因为指定的缓冲池不允许超高速缓存，GNPCACHE指定被忽略</td>
</tr>
<tr>
<td>+2007</td>
<td>01602</td>
<td>因为DB2子系统的参数禁用“提示(hiats）”所以不能指定优化提示</td>
</tr>
<tr>
<td>+30100</td>
<td>01558</td>
<td>分布式协议错误被检测到，提供原来的SQLCODE和SQLSTATE</td>
</tr>
<tr>
<td>-007</td>
<td>42601</td>
<td>SQL语句中由非法字符</td>
</tr>
<tr>
<td>-010</td>
<td>42603</td>
<td>字符串常量非正常终止；检查到有遗漏的引号标志</td>
</tr>
<tr>
<td>-029</td>
<td>42601</td>
<td>需要INTO语句</td>
</tr>
<tr>
<td>-060</td>
<td>42815</td>
<td>某特定数据类型的长度或者标量规范无效</td>
</tr>
<tr>
<td>-084</td>
<td>42612</td>
<td>不能执行SQL语句，因为该语句对动态SQL无效或者对OS/390的DB2无效</td>
</tr>
<tr>
<td>-097</td>
<td>42601</td>
<td>在单位类型、用户自定义的函数以及过程中不能使用带有CAST的LONG VARCHAR或LONGVARGRAPHIC</td>
</tr>
<tr>
<td>-101</td>
<td>54001</td>
<td>SQL语句超出了已确定的DB2限制：例如，表的数目太多，语句中的字节太多</td>
</tr>
<tr>
<td>-102</td>
<td>54002</td>
<td>字符串常量太长</td>
</tr>
<tr>
<td>-103</td>
<td>42604</td>
<td>无效数学文字</td>
</tr>
<tr>
<td>-104</td>
<td>42601</td>
<td>SQL语句中遇到非法符号</td>
</tr>
<tr>
<td>-105</td>
<td>42604</td>
<td>无效的字符串格式；通常引用一个格式不正确的图形字符串</td>
</tr>
<tr>
<td>-107</td>
<td>42622</td>
<td>对象名太长</td>
</tr>
<tr>
<td>-108</td>
<td>42601</td>
<td>RENAME语句中指定的名字有错误，不能使用限定词</td>
</tr>
<tr>
<td>-109</td>
<td>42601</td>
<td>指定了无效语句；例如CREATE VIEW不能包含ORDER BY 语句</td>
</tr>
<tr>
<td>-110</td>
<td>42606</td>
<td>遇到了无效的十六进制的文字</td>
</tr>
<tr>
<td>-111</td>
<td>42901</td>
<td>指定的列函数没有给出列名</td>
</tr>
<tr>
<td>-112</td>
<td>42607</td>
<td>无效的列函数语法；列函数不能运行与其他的列函数之上</td>
</tr>
<tr>
<td>-113</td>
<td>42602</td>
<td>遇到无效字符</td>
</tr>
<tr>
<td>-114</td>
<td>42961</td>
<td>该语句的位置名称必须与当前服务器匹配，但是却没有匹配</td>
</tr>
<tr>
<td>-115</td>
<td>42601</td>
<td>因为比较运算符没有伴着一个表达式或者列表，遇到了无效谓词</td>
</tr>
<tr>
<td>-117</td>
<td>42802</td>
<td>待插入的数值的个数于被插入的行中的列数不相等</td>
</tr>
<tr>
<td>-118</td>
<td>42902</td>
<td>数据修改语句(UPDATE或DELETE）和FROM语句中的表和视图命名不合法</td>
</tr>
<tr>
<td>-119</td>
<td>42803</td>
<td>HAVING语句中的列的列表与GROUP BY语句中的列列表不匹配</td>
</tr>
<tr>
<td>-120</td>
<td>42903</td>
<td>不允许WHERE语句、SET语句、VALUES语句或者SET ASSIGNMENT语句引用列函数</td>
</tr>
<tr>
<td>-121</td>
<td>42701</td>
<td>在INSERT或UPDATE语句中，某一列被非法引用了两次</td>
</tr>
<tr>
<td>-122</td>
<td>42803</td>
<td>非法使用了列函数。因为没有用于一个列函数的所有列不再GROUP BY语句中</td>
</tr>
<tr>
<td>-123</td>
<td>42601</td>
<td>特定位置的参数必须是一个常数或者一个关键词</td>
</tr>
<tr>
<td>-125</td>
<td>42805</td>
<td>ORDER BY语句中指定了无效数字，该数字要么小于1要么大于选定的列数</td>
</tr>
<tr>
<td>-126</td>
<td>42829</td>
<td>不能为一个UPDATE语句指定ORDER BY语句</td>
</tr>
<tr>
<td>-127</td>
<td>42905</td>
<td>在子选择中DISTINCT只能指定一次</td>
</tr>
<tr>
<td>-128</td>
<td>42601</td>
<td>SQL谓词中NULL使用不当</td>
</tr>
<tr>
<td>-129</td>
<td>54004</td>
<td>SQL语句中包含的表多于15个</td>
</tr>
<tr>
<td>-130</td>
<td>22019</td>
<td>ESCAPE语句必须为一个字符</td>
</tr>
<tr>
<td></td>
<td>22025</td>
<td>无效的ESCAPE模式</td>
</tr>
<tr>
<td>-131</td>
<td>42818</td>
<td>LIKE谓词只能用于字符数据</td>
</tr>
<tr>
<td>-132</td>
<td>42824</td>
<td>LIKE语句、ESCAPE语句、LOCATE函数或POSSTR函数中有无效运算对象</td>
</tr>
<tr>
<td>-133</td>
<td>42906</td>
<td>无效相关子查询引用</td>
</tr>
<tr>
<td>-134</td>
<td>42907</td>
<td>大于255字节的列被不正确使用</td>
</tr>
<tr>
<td>-136</td>
<td>54005</td>
<td>排序关键字的长度大于4000字节</td>
</tr>
<tr>
<td>-137</td>
<td>54006</td>
<td>被连接的字符串太大；字符的最大值为32767；图形的最大值为16382</td>
</tr>
<tr>
<td>-138</td>
<td>22011</td>
<td>SUBSTR列函数的第二个或第三个操作符无效</td>
</tr>
<tr>
<td>-142</td>
<td>42612</td>
<td>不支持的SQL语句。该语句可能在另外的RDBMS上有效，也有可能在其他的上下文中有效（例如，VALUES只能在触发器中出现）</td>
</tr>
<tr>
<td>-144</td>
<td>58003</td>
<td>指定的段号无效</td>
</tr>
<tr>
<td>-147</td>
<td>42809</td>
<td>某一源函数不能更改。要改变源函数，必须删除该源函数并重新建立他</td>
</tr>
<tr>
<td>-148</td>
<td>42809</td>
<td>RENAME和ALTER无法执行。RENAME不能对视图或者活动RI.ST表重新命名。ALTER不能用于改变列的长度，因为该列参与了RI、一个用户退出程序、全局的临时表或打开DATACAPTURE CHANGES表的列</td>
</tr>
<tr>
<td>-150</td>
<td>42807</td>
<td>触发活动的INSERT，UPDATE或DELETE语句中指定了无效的视图更新或一个无效的转换表</td>
</tr>
<tr>
<td>-151</td>
<td>42808</td>
<td>试图更新一个不可更新的视图的列、一个DB2 CATALOG表的列或者一个ROWID列</td>
</tr>
<tr>
<td>-152</td>
<td>42809</td>
<td>DROP CHECK试图删除一个参照约束，或者DROP FOREIGN试图删除一个检查约束</td>
</tr>
<tr>
<td>-153</td>
<td>42908</td>
<td>无效的视图建立请求，必须为旋转列表中列出的列出的未命名的列或者重复的列提供一个名字</td>
</tr>
<tr>
<td>-154</td>
<td>42909</td>
<td>不能用UNION、UNION ALL或者一个远程表建立视图</td>
</tr>
<tr>
<td>-156</td>
<td>42809</td>
<td>在视图上建立索引是非法的，或者在ALTER TABLE，CREATE TRIGGER，DROP TABLE或LOCK TABLE语句上指定一个不是表的其他对象这是无效的</td>
</tr>
<tr>
<td>-157</td>
<td>42810</td>
<td>必须在FOREIGN KEY语句中指定一个表名</td>
</tr>
<tr>
<td>-158</td>
<td>42811</td>
<td>视图的列和选择列表中的列不相匹配</td>
</tr>
<tr>
<td>-159</td>
<td>42089</td>
<td>无效DROP或COMMENT ON语句</td>
</tr>
<tr>
<td>-160</td>
<td>42813</td>
<td>对该视图的WITH CHECK OPTION无效</td>
</tr>
<tr>
<td>-161</td>
<td>44000</td>
<td>正被更新的视图WITH CHECK OPTION语句使得这行不能被插入或更新</td>
</tr>
<tr>
<td>-164</td>
<td>42502</td>
<td>用户没有建立这个视图的权限</td>
</tr>
<tr>
<td>-170</td>
<td>42605</td>
<td>标量函数指定了无效的参数个数</td>
</tr>
<tr>
<td>-171</td>
<td>42815</td>
<td>标量函数指定了无效的数据类型长度或者无效数值</td>
</tr>
<tr>
<td>-173</td>
<td>42801</td>
<td>在非只读型的游标上不能指定隔离级别UR</td>
</tr>
<tr>
<td>-180</td>
<td>22007</td>
<td>DATE、TIME、TIMESTAMP值的字符串表示法的语法不对</td>
</tr>
<tr>
<td>-181</td>
<td>22001</td>
<td>不是有效的DATE、TIME、TIMESTAMP值</td>
</tr>
<tr>
<td>-182</td>
<td>42816</td>
<td>在算术表达式中的日期/时间值无效</td>
</tr>
<tr>
<td>-183</td>
<td>22008</td>
<td>在算术表达式中返回的日期/时间值的结果不在有效值的范围内</td>
</tr>
<tr>
<td>-184</td>
<td>42610</td>
<td>没有正确使用日期/时间值的参数标记</td>
</tr>
<tr>
<td>-185</td>
<td>57008</td>
<td>没有定义本定的日期/时间出口</td>
</tr>
<tr>
<td>-186</td>
<td>22505</td>
<td>改变本定的日期/时间出口引发这个程序的长度无效</td>
</tr>
<tr>
<td>-187</td>
<td>22506</td>
<td>MVS返回无效的当前日期/时间</td>
</tr>
<tr>
<td>-188</td>
<td>22503</td>
<td>字符串表示无效</td>
</tr>
<tr>
<td>-189</td>
<td>22522</td>
<td>指定的编码字符集的ID无效或没有定义</td>
</tr>
<tr>
<td>-190</td>
<td>42837</td>
<td>不能象所设定的那样改变（ALTER）列。只能改变（ALTER）VARCHAR列的长度</td>
</tr>
<tr>
<td>-191</td>
<td>22504</td>
<td>字符串中包含了无效的混合数据</td>
</tr>
<tr>
<td>-197</td>
<td>42877</td>
<td>当两个或多个表被联合在一起排序时，限定的列名不能在ORDER BY语句中使用</td>
</tr>
<tr>
<td>-198</td>
<td>42617</td>
<td>试图对空的字符串发布一个PREPARE或EXECUTE IMMEDIATE语句</td>
</tr>
<tr>
<td>-199</td>
<td>42601</td>
<td>SQL语句中使用了非法关键词</td>
</tr>
<tr>
<td>-203</td>
<td>42702</td>
<td>模糊列引用</td>
</tr>
<tr>
<td>-204</td>
<td>42704</td>
<td>没有定义的对象名</td>
</tr>
<tr>
<td>-205</td>
<td>42703</td>
<td>指定的表的列名无效</td>
</tr>
<tr>
<td>-206</td>
<td>42703</td>
<td>列名没有在FROM语句所引用的任何表中，或者没有在定义触发器所在的表中</td>
</tr>
<tr>
<td>-208</td>
<td>42707</td>
<td>不能ORDER BY指定列，应为该列不在选择列表中</td>
</tr>
<tr>
<td>-212</td>
<td>42712</td>
<td>指定的表名在触发器中不允许多次使用，只能使用一次</td>
</tr>
<tr>
<td>-214</td>
<td>42822</td>
<td>DISTINCT、ORDER BY 引起的无效表达式</td>
</tr>
<tr>
<td>-219</td>
<td>42704</td>
<td>因为PLAN_TABLE不存在，EXPLAIN无法执行</td>
</tr>
<tr>
<td>-220</td>
<td>55002</td>
<td>遇到无效的PLAN_TABLE列</td>
</tr>
<tr>
<td>-221</td>
<td>55002</td>
<td>如果为PLAN_TABLE定义了可供选择的列，那么，必须定义所有的列</td>
</tr>
<tr>
<td>-229</td>
<td>42708</td>
<td>指定的现场找不到</td>
</tr>
<tr>
<td>-240</td>
<td>428B4</td>
<td>LOCK TABLE语句的PART子句无效</td>
</tr>
<tr>
<td>-250</td>
<td>42718</td>
<td>没有定义本地位置名</td>
</tr>
<tr>
<td>-251</td>
<td>42602</td>
<td>记号无效</td>
</tr>
<tr>
<td>-300</td>
<td>22024</td>
<td>宿主变量或参数中的字符串不是以NULL为终止</td>
</tr>
<tr>
<td>-301</td>
<td>42895</td>
<td>无效的宿主变量数据类型</td>
</tr>
<tr>
<td>-302</td>
<td>22001</td>
<td>输入的变量值对指定的列无效</td>
</tr>
<tr>
<td></td>
<td>22003</td>
<td>输入的变量值对指定的列而言太大</td>
</tr>
<tr>
<td>-303</td>
<td>42806</td>
<td>因为数据类型不兼容，不能分配数值</td>
</tr>
<tr>
<td>-304</td>
<td>22003</td>
<td>因为数据超出了范围，不能分配数值</td>
</tr>
<tr>
<td>-305</td>
<td>22002</td>
<td>没有NULL指示符变量</td>
</tr>
<tr>
<td>-309</td>
<td>22512</td>
<td>因为引用的宿主变量被设置成NULL，所以谓词无效</td>
</tr>
<tr>
<td>-310</td>
<td>22501</td>
<td>十进制的宿主变量或参数包含非十进制数据</td>
</tr>
<tr>
<td>-311</td>
<td>22501</td>
<td>输入的宿主变量长度无效，或者时负值或者太大</td>
</tr>
<tr>
<td>-312</td>
<td>42618</td>
<td>没有定义宿主变量或者宿主变量不可用</td>
</tr>
<tr>
<td>-313</td>
<td>07001</td>
<td>宿主变量的个数不等于参数标识的个数</td>
</tr>
<tr>
<td>-314</td>
<td>42714</td>
<td>模糊的宿主变量引用</td>
</tr>
<tr>
<td>-327</td>
<td>22525</td>
<td>在最后分区的关键字范围内，不能插入行</td>
</tr>
<tr>
<td>-330</td>
<td>22021</td>
<td>不能成功的翻译字符串</td>
</tr>
<tr>
<td>-331</td>
<td>22021</td>
<td>字符串不能分配到宿主变量，因为其不能成功的被翻译</td>
</tr>
<tr>
<td>-332</td>
<td>57017</td>
<td>不能为两个命名的编码字符集的ID定义翻译规则</td>
</tr>
<tr>
<td>-333</td>
<td>56010</td>
<td>子类型无效导致翻译失败</td>
</tr>
<tr>
<td>-338</td>
<td>42972</td>
<td>ON语句无效，必须引用连接的列</td>
</tr>
<tr>
<td>-339</td>
<td>56082</td>
<td>访问DB2 2.2版本的子系统被拒绝，原因时ASCII到EBCDIC翻译不能进行</td>
</tr>
<tr>
<td>-350</td>
<td>42962</td>
<td>无效的大对象规范</td>
</tr>
<tr>
<td>-351</td>
<td>56084</td>
<td>SELECT列表中有不支持的数据类型</td>
</tr>
<tr>
<td>-352</td>
<td>56084</td>
<td>输入列表中有不支持的数据类型</td>
</tr>
<tr>
<td>-355</td>
<td>42993</td>
<td>LOB列太大，以至不能被记录在日志中</td>
</tr>
<tr>
<td>-372</td>
<td>428C1</td>
<td>每个表只允许有一个ROWID列</td>
</tr>
<tr>
<td>-390</td>
<td>42887</td>
<td>在上下文中指定的函数无效</td>
</tr>
<tr>
<td>-392</td>
<td>42855</td>
<td>自从前一次FETCH以来，指定游标的SQLDA已被不恰当的改变</td>
</tr>
<tr>
<td>-396</td>
<td>38505</td>
<td>在最后的访问过程中，视图执行SQL语句</td>
</tr>
<tr>
<td>-397</td>
<td>428D3</td>
<td>在某一列上不恰当的指定了GENERATED因为该列不是ROWID数据类型</td>
</tr>
<tr>
<td>-398</td>
<td>428D2</td>
<td>为某一个宿主变量请求LOCATOR，但是该宿主变量不是一个LOB</td>
</tr>
<tr>
<td>-399</td>
<td>22511</td>
<td>在INSERT语句中为ROWID列指定的值无效</td>
</tr>
<tr>
<td>-400</td>
<td>54027</td>
<td>在DB2编目中定义的用户自定义索引不能超过100个</td>
</tr>
<tr>
<td>-401</td>
<td>42818</td>
<td>算术操作符或比较操作符的操作对象不是兼容的</td>
</tr>
<tr>
<td>-402</td>
<td>42819</td>
<td>算术函数不能用于字符或日期时间数据</td>
</tr>
<tr>
<td>-404</td>
<td>22001</td>
<td>SQL语句指定的字符串太长</td>
</tr>
<tr>
<td>-405</td>
<td>42820</td>
<td>数值文字超出了范围</td>
</tr>
<tr>
<td>-406</td>
<td>22003</td>
<td>计算出的或者倒出的数值超出了范围</td>
</tr>
<tr>
<td>-407</td>
<td>23502</td>
<td>不能把NULL值插到定义为NOT NULL的列中</td>
</tr>
<tr>
<td>-408</td>
<td>42821</td>
<td>数值不能被更新或插入，因为他与列的数据类型不兼容</td>
</tr>
<tr>
<td>-409</td>
<td>42607</td>
<td>COUNT函数指定的运算对象无效</td>
</tr>
<tr>
<td>-410</td>
<td>42820</td>
<td>浮点文字笔30个字符的最大允许长度长</td>
</tr>
<tr>
<td>-411</td>
<td>56040</td>
<td>CURRENT SQLID使用无效</td>
</tr>
<tr>
<td>-412</td>
<td>42823</td>
<td>在子查询的选择列表中遇到了多个列</td>
</tr>
<tr>
<td>-413</td>
<td>22003</td>
<td>当转换为一个数字型数据类型时，数据溢出</td>
</tr>
<tr>
<td>-414</td>
<td>42824</td>
<td>LIKE谓词不能运行于用数字或日期时间类型定义的列</td>
</tr>
<tr>
<td>-415</td>
<td>42825</td>
<td>为UNION操作指定的选择列表不是联合兼容的</td>
</tr>
<tr>
<td>-416</td>
<td>42907</td>
<td>包含UNION操作符的SQL语句不允许有长的字符串列</td>
</tr>
<tr>
<td>-417</td>
<td>42609</td>
<td>两参数标识符作为运算对象被指定在同一谓词的两边</td>
</tr>
<tr>
<td>-418</td>
<td>42610</td>
<td>参数标识符使用无效</td>
</tr>
<tr>
<td>-419</td>
<td>42911</td>
<td>十进制除法无效</td>
</tr>
<tr>
<td>-420</td>
<td>22018</td>
<td>字符串自变量值不符合函数的要求</td>
</tr>
<tr>
<td>-421</td>
<td>42826</td>
<td>UNION操作的选择列表中没有提供相同数目的列</td>
</tr>
<tr>
<td>-423</td>
<td>0F001</td>
<td>为LOB或结果集定位器指定的值无效</td>
</tr>
<tr>
<td>-426</td>
<td>2D528</td>
<td>在不允许更新的应用服务器不允许执行COMMIT语句</td>
</tr>
<tr>
<td>-427</td>
<td>2D529</td>
<td>在不允许更新的应用服务器不允许执行ROLLBACK语句</td>
</tr>
<tr>
<td>-430</td>
<td>38503</td>
<td>在用户自定义的函数或存储过程中遇到了错误</td>
</tr>
<tr>
<td>-433</td>
<td>22001</td>
<td>指定的值太长</td>
</tr>
<tr>
<td>-435</td>
<td>428B3</td>
<td>无效的应用定义的SQLSTATE</td>
</tr>
<tr>
<td>-438</td>
<td>xxxxx</td>
<td>使用了RAISE_ERROR函数的应用发出了一个错误</td>
</tr>
<tr>
<td>-440</td>
<td>42884</td>
<td>存储过程或用户自定义函数的参数列表参数个数于预期的个数不匹配</td>
</tr>
<tr>
<td>-441</td>
<td>42601</td>
<td>与标量函数一起使用DISTINCT或ALL是不正确的用法</td>
</tr>
<tr>
<td>-443</td>
<td>42601</td>
<td>指定的外部函数返回错误的SQLSTATE</td>
</tr>
<tr>
<td>-444</td>
<td>42724</td>
<td>与被称为存储过程或用户自定义函数有关的程序不能找到</td>
</tr>
<tr>
<td>-449</td>
<td>42878</td>
<td>对存储过程或用户自定义的 函数，CREATE或ALTER语句不正确（缺失EXTERNAL NAME 子句)</td>
</tr>
<tr>
<td>-450</td>
<td>39501</td>
<td>存储过程或用户自定义函数写入存储器的值超过了参数声明的长度</td>
</tr>
<tr>
<td>-451</td>
<td>42815</td>
<td>CREATE FUNCTION中指定了不正确的数据类型</td>
</tr>
<tr>
<td>-453</td>
<td>42880</td>
<td>用户自定义函数中的RETURNS语句无效</td>
</tr>
<tr>
<td>-454</td>
<td>42723</td>
<td>指定的函数识别标记与已存在的另一函数的识别标记冲突</td>
</tr>
<tr>
<td>-455</td>
<td>42882</td>
<td>模式名不比配</td>
</tr>
<tr>
<td>-456</td>
<td>42710</td>
<td>为用户自定义函数指定的函数名已经存在</td>
</tr>
<tr>
<td>-457</td>
<td>42939</td>
<td>用户自定义函数或用户自定义类型正试图使用系统中定义的函数或者类型所用的名称</td>
</tr>
<tr>
<td>-458</td>
<td>42883</td>
<td>没有找到函数</td>
</tr>
<tr>
<td>-463</td>
<td>39001</td>
<td>特定的外部例程返回无效的SQLSTATE</td>
</tr>
<tr>
<td>-469</td>
<td>42886</td>
<td>参数定义为OUT或INOUT的CALL语句必须提供宿主变量</td>
</tr>
<tr>
<td>-470</td>
<td>39002</td>
<td>指定了NULL参数，但是该例程却不支持NULL</td>
</tr>
<tr>
<td>-471</td>
<td>55023</td>
<td>存储过程或用户自定义函数失败：提供原因代码</td>
</tr>
<tr>
<td>-472</td>
<td>24517</td>
<td>外部的函数程序使游标处于打开状态</td>
</tr>
<tr>
<td>-473</td>
<td>42918</td>
<td>用户自定义数据类型命名不能和系统定义的数据类型一样</td>
</tr>
<tr>
<td>-475</td>
<td>42866</td>
<td>结果类型不能被转换成RETURNS类型</td>
</tr>
<tr>
<td>-476</td>
<td>42725</td>
<td>在其模式中该函数不是独一无二的</td>
</tr>
<tr>
<td>-478</td>
<td>42893</td>
<td>不能DROP或REVOKE特定的对象，因为其他对象依赖于该对象</td>
</tr>
<tr>
<td>-480</td>
<td>51030</td>
<td>直到存储过程已经被CALL后，DESCRIBE PROCEDURE和ASSOCIATE LOCATORS才能被发布</td>
</tr>
<tr>
<td>-482</td>
<td>51030</td>
<td>存储过程不返回到任何一个定位器</td>
</tr>
<tr>
<td>-483</td>
<td>42885</td>
<td>CREATE FUNCTION语句中的参数个数与源函数中的参数个数不匹配</td>
</tr>
<tr>
<td>-487</td>
<td>38001</td>
<td>选择了NO SQL选项建立指定的存储过程或用户自定义函数，但却视图发布SQL语句</td>
</tr>
<tr>
<td>-491</td>
<td>42601</td>
<td>CREATE FUNCTION语句无效，因为该语句没有RETURNS语句或者因为该语句没有指定有效的SOURCE或者EXTERNAL语句</td>
</tr>
<tr>
<td>-492</td>
<td>42879</td>
<td>指定函数的指定参数的个数有错误</td>
</tr>
<tr>
<td>-495</td>
<td>57051</td>
<td>语句的估计处理器成本超出了资源限制</td>
</tr>
<tr>
<td>-496</td>
<td>51033</td>
<td>语句无法执行，因为当前服务器与调用存储过程的服务器不同</td>
</tr>
<tr>
<td>-497</td>
<td>54041</td>
<td>指定的数据库超过了32767 OBID的上限，或者CREATE DATABASE语句使之达到了32511DBID的上限</td>
</tr>
<tr>
<td>-499</td>
<td>24516</td>
<td>指定的游标已被分配到结果集，该结果集来自已经指定的存储过程</td>
</tr>
<tr>
<td>-500</td>
<td>24501</td>
<td>因为连接被破坏，WITH HOLD游标被关闭</td>
</tr>
<tr>
<td>-501</td>
<td>24501</td>
<td>在试图获取数据或关闭一个游标前必须打开一个游标</td>
</tr>
<tr>
<td>-502</td>
<td>24502</td>
<td>在没有关闭游标前不能再次打开游标</td>
</tr>
<tr>
<td>-503</td>
<td>42912</td>
<td>因为列在游标的FOR UPDATE OF语句中没有被指定，该游标用于获取该列，所以不能更新该列</td>
</tr>
<tr>
<td>-504</td>
<td>34000</td>
<td>不能引用一个游标，因为他不是定义到程序里的</td>
</tr>
<tr>
<td>-507</td>
<td>24501</td>
<td>在试图更新或者删除WHERE CURRENT OF前，必须打开游标</td>
</tr>
<tr>
<td>-508</td>
<td>24504</td>
<td>因为被引用的游标当前不是处于数据行上，所以不能被更新或删除</td>
</tr>
<tr>
<td>-509</td>
<td>42827</td>
<td>除了在游标上指定的那个表（该表由WHERE CURRENT OF语句引用的）以外，再也不能从别的表上更新数据</td>
</tr>
<tr>
<td>-510</td>
<td>42828</td>
<td>表或视图不能被修改</td>
</tr>
<tr>
<td>-511</td>
<td>42829</td>
<td>对不可修改的表或视图，FOR UPDATE OF语句无效</td>
</tr>
<tr>
<td>-512</td>
<td>56023</td>
<td>对远程对象的无效引用</td>
</tr>
<tr>
<td>-513</td>
<td>42924</td>
<td>一个别名不能再被定义成另外的别名</td>
</tr>
<tr>
<td>-514</td>
<td>26501</td>
<td>游标尚没有被准备</td>
</tr>
<tr>
<td>-516</td>
<td>26501</td>
<td>试图描述未准备好的SQL语句</td>
</tr>
<tr>
<td>-517</td>
<td>07005</td>
<td>因为SQL语句尚没有准备好，游标无效</td>
</tr>
<tr>
<td>-518</td>
<td>07003</td>
<td>试图执行尚没有准备好的SQL语句</td>
</tr>
<tr>
<td>-519</td>
<td>24506</td>
<td>当为游标的SQL语句发布一个准备语句是，游标不能是打开的</td>
</tr>
<tr>
<td>-525</td>
<td>51015</td>
<td>不能在已指定的程序包中执行SQL语句，因为在绑定时间内该程序包无效</td>
</tr>
<tr>
<td>-526</td>
<td>42995</td>
<td>在给定的上下文中，不能使用全局的临时表</td>
</tr>
<tr>
<td>-530</td>
<td>23503</td>
<td>对特定的约束名指定了无效的外健值</td>
</tr>
<tr>
<td>-531</td>
<td>23504</td>
<td>从版本5开始，父关键字的多行更新将试图删除一个外关键字依赖的父关键字值，在版本5以前，当引用主关键值外健值当前存在时，试图更新该主健值</td>
</tr>
<tr>
<td>-532</td>
<td>23504</td>
<td>删除操作违反了已指定的参照约束</td>
</tr>
<tr>
<td>-533</td>
<td>21501</td>
<td>多行插入无效，试图将多行插到自我引用的表中</td>
</tr>
<tr>
<td>-534</td>
<td>21502</td>
<td>可改变主健列值的更新语句不能在同一时刻用于更新多行</td>
</tr>
<tr>
<td>-535</td>
<td>21502</td>
<td>当从自我引用表中删除数据或者更新主健列时，不能指定WHERE CURRENT OF。不是版本5的子系统才调用该代码</td>
</tr>
<tr>
<td>-536</td>
<td>42914</td>
<td>因为某一特定表的参照约束存在，所以删除语句无效</td>
</tr>
<tr>
<td>-537</td>
<td>42709</td>
<td>在外健语句或主健语句的规范中，每个列的出现不能多于一次</td>
</tr>
<tr>
<td>-538</td>
<td>42830</td>
<td>无效的外健；不符合引用的表没有主健</td>
</tr>
<tr>
<td>-539</td>
<td>42888</td>
<td>不能定义外健，因为被引用的表没有主健</td>
</tr>
<tr>
<td>-540</td>
<td>57001</td>
<td>表定义不完整，直到为主健建立了唯一索引或UNIQUE语句、或者包含GENERATED BYDEFAULT属性的ROWID列</td>
</tr>
<tr>
<td>-542</td>
<td>42831</td>
<td>可以为空的列不允许作为主健的一部分包含在内</td>
</tr>
<tr>
<td>-543</td>
<td>23511</td>
<td>因为该表是指定了SET NULL删除规则的参照约束的父表而且检查约束不允许NULL，所以DELETE不能发生</td>
</tr>
<tr>
<td>-544</td>
<td>23512</td>
<td>不能用ALTER添加检查约束，因为已存在的某行与该检查约束冲突</td>
</tr>
<tr>
<td>-545</td>
<td>23513</td>
<td>INSERT或者UPDATE导致检查约束冲突</td>
</tr>
<tr>
<td>-546</td>
<td>42621</td>
<td>在CREATE或ALTER TABLE中指定的检查约束无效</td>
</tr>
<tr>
<td>-548</td>
<td>42621</td>
<td>因为指定的列而引起的检查约束无效</td>
</tr>
<tr>
<td>-549</td>
<td>42509</td>
<td>DYNAMICRULES（BIND）计划或程序包的无效SQL语句</td>
</tr>
<tr>
<td>-551</td>
<td>42501</td>
<td>用户试图对不拥有权限的特定的对象进行操作，或者表不存在</td>
</tr>
<tr>
<td>-552</td>
<td>42502</td>
<td>用户试图执行未被授权的操作</td>
</tr>
<tr>
<td>-553</td>
<td>42503</td>
<td>不能指定CURRENT SQLID，因为用户尚没有被允许改变那个ID</td>
</tr>
<tr>
<td>-554</td>
<td>42502</td>
<td>不能对你本身赋予一个权限</td>
</tr>
<tr>
<td>-555</td>
<td>42502</td>
<td>不能对你本身撤销一个权限</td>
</tr>
<tr>
<td>-556</td>
<td>42504</td>
<td>不能撤销用户没有拥有的权限</td>
</tr>
<tr>
<td>-557</td>
<td>42852</td>
<td>指定了不一致的授予或撤销关键词</td>
</tr>
<tr>
<td>-558</td>
<td>56025</td>
<td>为授予或撤销语句指定了无效的语句（一个或一组）</td>
</tr>
<tr>
<td>-559</td>
<td>57002</td>
<td>DB2权限机制已经禁用，授予或者撤销不能被发布</td>
</tr>
<tr>
<td>-567</td>
<td>42501</td>
<td>指定的权限ID缺少对指定的程序包的绑定权限</td>
</tr>
<tr>
<td>-571</td>
<td>25000</td>
<td>不允许多点更新</td>
</tr>
<tr>
<td>-573</td>
<td>42890</td>
<td>不能定义参照约束，因为已指定的父表中在指定的列上没有唯一健</td>
</tr>
<tr>
<td>-574</td>
<td>42864</td>
<td>指定的缺省与列定义冲突</td>
</tr>
<tr>
<td>-577</td>
<td>38002</td>
<td>试图修改用户自定义函数中的数据或者存储过程中的数据，但这些对象的建立没有选择MODIFIES SQL DATA选项</td>
</tr>
<tr>
<td>-579</td>
<td>38004</td>
<td>试图修改用户自定义函数中的数据或者存储过程中的数据，但这些对象的建立没有选择READ SQL DATA选项，也没有选择MODIFIES SQL DATA选项</td>
</tr>
<tr>
<td>-580</td>
<td>42625</td>
<td>CASE表达式中的结果表达式不能都是空的</td>
</tr>
<tr>
<td>-581</td>
<td>42804</td>
<td>CASE表达式中的结果表达式为不兼容的数据类型</td>
</tr>
<tr>
<td>-582</td>
<td>42625</td>
<td>SEARCHED－WHEN－CLAUSE中的查找条件指定了一个限定的、IN或EXISTS谓词</td>
</tr>
<tr>
<td>-583</td>
<td>42845</td>
<td>指定的函数失败，因为他不是决定性的，或者可能有外部动作</td>
</tr>
<tr>
<td>-585</td>
<td>42732</td>
<td>在当前路径中模式名不止一次出现</td>
</tr>
<tr>
<td>-586</td>
<td>42907</td>
<td>CURRENT PATH专用寄存器在长度上不能超过254字符</td>
</tr>
<tr>
<td>-587</td>
<td>428C6</td>
<td>项目引用的列表必须是同一个家族</td>
</tr>
<tr>
<td>-590</td>
<td>42734</td>
<td>在命名的存储过程或用户自定义的函数中的参数必须是独一无二的</td>
</tr>
<tr>
<td>-592</td>
<td>42510</td>
<td>没有授权权限，让你在WLM环境中建立的存储过程或者用户自定义函数</td>
</tr>
<tr>
<td>-601</td>
<td>42710</td>
<td>试图创建（或重命名）已经存在的对象</td>
</tr>
<tr>
<td>-602</td>
<td>54008</td>
<td>CREATE INDEX语句中指定的列太多</td>
</tr>
<tr>
<td>-603</td>
<td>23515</td>
<td>因为发现有重复值，所以不能建立唯一的索引</td>
</tr>
<tr>
<td>-604</td>
<td>42611</td>
<td>在CREATE或ALTER TABLE语句中的为数据类型指定的长度、精度以及标度无效</td>
</tr>
<tr>
<td>-607</td>
<td>42832</td>
<td>指定的INSERT、UPDATE或DELETE语句不能被发布，应为这些语句对DB2 CATLOG表执行写操作</td>
</tr>
<tr>
<td>-611</td>
<td>53088</td>
<td>当LOCKSIZE是TABLE或者TABLESPACE时，LOCKMAX必须为0</td>
</tr>
<tr>
<td>-612</td>
<td>42711</td>
<td>在同一个表、索引或试图中不允许有重复列名</td>
</tr>
<tr>
<td>-613</td>
<td>54008</td>
<td>主健或UNIQUE约束太长或者包含了太多的列</td>
</tr>
<tr>
<td>-614</td>
<td>54008</td>
<td>已经超过了索引的内部健长度的最大长度（255）限制</td>
</tr>
<tr>
<td>-615</td>
<td>55006</td>
<td>不能删除这个程序包，因为该程序包目前正在执行</td>
</tr>
<tr>
<td>-616</td>
<td>42893</td>
<td>指定的对象不能被删除，因为其他对象依赖于该对象</td>
</tr>
<tr>
<td>-617</td>
<td>56089</td>
<td>对于DB2版本6，1型索引无效。对于以前的版本，1型索引不能用LOCKSIZE ROW或LARGE表空间定义</td>
</tr>
<tr>
<td>-618</td>
<td>42832</td>
<td>对DB2 CATALOG表的请求操作时不允许的</td>
</tr>
<tr>
<td>-619</td>
<td>55011</td>
<td>DSNDB07不能修改，除非他先被停止了</td>
</tr>
<tr>
<td>-620</td>
<td>53001</td>
<td>对在DSNDB07中的表空间不允许指定该关键词</td>
</tr>
<tr>
<td>-621</td>
<td>58001</td>
<td>遇到了重复的DBID，遇到了系统问题</td>
</tr>
<tr>
<td>-622</td>
<td>56031</td>
<td>不能指定FOR MIXED DATA因为没有安装混合数据选项</td>
</tr>
<tr>
<td>-623</td>
<td>55012</td>
<td>不能为单一的表定义多个族索引</td>
</tr>
<tr>
<td>-624</td>
<td>42889</td>
<td>不能为单一的表定义多个主健</td>
</tr>
<tr>
<td>-625</td>
<td>55014</td>
<td>用主健定义的表要求唯一索引</td>
</tr>
<tr>
<td>-626</td>
<td>55015</td>
<td>不能发布ALTER语句来改变PRIQTY SECQTY或ERASE，除非先停止了表空间</td>
</tr>
<tr>
<td>-627</td>
<td>55016</td>
<td>不能发布ALTER语句来改变PRIQTY SECQTY或ERASE，除非先把表空间定义为使用存储器组的表空间</td>
</tr>
<tr>
<td>-628</td>
<td>42613</td>
<td>指定语句时相互排斥的（例如，不能分区一个分段的表空间）</td>
</tr>
<tr>
<td>-629</td>
<td>42834</td>
<td>因为该外健不能包含空值，所以SET NULL无效</td>
</tr>
<tr>
<td>-630</td>
<td>56089</td>
<td>不能为1型索引指定WHERE NOT NULL</td>
</tr>
<tr>
<td>-631</td>
<td>54008</td>
<td>无效的外健；要么是比254个字节长，要么包含的列数多于40</td>
</tr>
<tr>
<td>-632</td>
<td>42915</td>
<td>指定的删除规则禁止把这个表定义为已制定表的从属表</td>
</tr>
<tr>
<td>-633</td>
<td>42915</td>
<td>无效删除规则；必须使用特定的强制删除规则</td>
</tr>
<tr>
<td>-634</td>
<td>42915</td>
<td>在这种情况下，DELETE CASCADE不允许</td>
</tr>
<tr>
<td>-635</td>
<td>42915</td>
<td>删除规则不能有差异或者不能为SET NULL</td>
</tr>
<tr>
<td>-636</td>
<td>56016</td>
<td>在分区索引健的升序或降序规范中，分区所以必须与该规范一致</td>
</tr>
<tr>
<td>-637</td>
<td>42614</td>
<td>遇到重复的关键词</td>
</tr>
<tr>
<td>-638</td>
<td>42601</td>
<td>在CREATE TABLE语句中缺少列定义</td>
</tr>
<tr>
<td>-639</td>
<td>56027</td>
<td>带有SET NULL的删除规则的外健的可空列不能是分区索引的列</td>
</tr>
<tr>
<td>-640</td>
<td>56089</td>
<td>不能为这个表空间指定LOCKSIZE ROW，因为在该表空间中的表上定义了1型索引</td>
</tr>
<tr>
<td>-642</td>
<td>54021</td>
<td>唯一约束包含太多的列</td>
</tr>
<tr>
<td>-643</td>
<td>54024</td>
<td>检查约束超出了3800个字符的最大长度</td>
</tr>
<tr>
<td>-644</td>
<td>42615</td>
<td>在SQL语句中为关键词指定的值无效</td>
</tr>
<tr>
<td>-646</td>
<td>55017</td>
<td>在指定的分区表空间或者缺省表空间中不能创建表，因为指定的表空间已经包含了一个表</td>
</tr>
<tr>
<td>-647</td>
<td>57003</td>
<td>指定的缓冲池无效，因为他没有被激活</td>
</tr>
<tr>
<td>-650</td>
<td>56090</td>
<td>ALTER INDEX不能被执行；提供了原因代码</td>
</tr>
<tr>
<td>-651</td>
<td>54025</td>
<td>如果CREARE或ALTER TABLE被允许，表对象的描述词（object descriptor,OBD）将超过最大值（32KB）</td>
</tr>
<tr>
<td>-652</td>
<td>23506</td>
<td>遇到了EDITRPROC或VALIDPROC冲突</td>
</tr>
<tr>
<td>-653</td>
<td>57004</td>
<td>在分区表空间中的表不可用，因为分区索引尚未被创建</td>
</tr>
<tr>
<td>-655</td>
<td>56036</td>
<td>在卷的列表中，STOGROUP不能指定为特定的或不特定（“*”）的卷</td>
</tr>
<tr>
<td>-658</td>
<td>42917</td>
<td>当试图删除指定的对象时，无法删除该对象，该对象的删除必须通过删除与之相关联的对象完成</td>
</tr>
<tr>
<td>-660</td>
<td>53035</td>
<td>不正确的分区索引规范，必须为族索引定义有限制的关键字</td>
</tr>
<tr>
<td>-661</td>
<td>53036</td>
<td>分区索引没有指定恰当的分区数目</td>
</tr>
<tr>
<td>-662</td>
<td>53037</td>
<td>试图在未分区的表空间（分段的或简单的）上建立分区索引</td>
</tr>
<tr>
<td>-663</td>
<td>53038</td>
<td>为分区索引指定的关键字限制值是一个无效数字</td>
</tr>
<tr>
<td>-665</td>
<td>53039</td>
<td>为ALTER TABLESOACE语句指定了无效的PART语句</td>
</tr>
<tr>
<td>-666</td>
<td>57005</td>
<td>SQL语句不能被处理，因为指定的函数当前正处于进行过程中</td>
</tr>
<tr>
<td>-667</td>
<td>42917</td>
<td>不能明确的删除分区表空间的族索引，必须除去分区表空间来去掉分区索引</td>
</tr>
<tr>
<td>-668</td>
<td>56018</td>
<td>不能向用EDITPROC定义的表中添加列</td>
</tr>
<tr>
<td>-669</td>
<td>42917</td>
<td>不能显式的删除分区表空间中的表，必须删除分区表空间来删除表</td>
</tr>
<tr>
<td>-670</td>
<td>54010</td>
<td>表的记录长度超过了页面的大小</td>
</tr>
<tr>
<td>-671</td>
<td>53040</td>
<td>不能更改指定的表空间的缓冲池，因为这将改变表空间的页面大小</td>
</tr>
<tr>
<td>-672</td>
<td>55035</td>
<td>在命名的表上不允许DROP</td>
</tr>
<tr>
<td>-676</td>
<td>53041</td>
<td>只有4KB的缓冲池可被用于一个索引</td>
</tr>
<tr>
<td>-677</td>
<td>57011</td>
<td>缓冲池扩展失败，由于可用的虚拟内存的大小不足</td>
</tr>
<tr>
<td>-678</td>
<td>53045</td>
<td>为才分区索引中指定的限制健提供的值与数据类型不符</td>
</tr>
<tr>
<td>-679</td>
<td>57006</td>
<td>不能创建某一个特定对象，因为该对象的一个drop目前正在挂起</td>
</tr>
<tr>
<td>-680</td>
<td>54011</td>
<td>对DB2表不能超过750列</td>
</tr>
<tr>
<td>-681</td>
<td>23507</td>
<td>列违反了指定的FIELDPROC</td>
</tr>
<tr>
<td>-682</td>
<td>57010</td>
<td>不能载入FIELDPROC</td>
</tr>
<tr>
<td>-683</td>
<td>42842</td>
<td>列、单值类型、函数或者过程无效，因为不兼容语句。例如，指定的INTEGER具有FORBITDATA选项</td>
</tr>
<tr>
<td>-684</td>
<td>54012</td>
<td>指定的文字列表不能超过254个字节</td>
</tr>
<tr>
<td>-685</td>
<td>58002</td>
<td>FIELDPROC返回一个无效的域描述</td>
</tr>
<tr>
<td>-686</td>
<td>53043</td>
<td>用FIELDPROC定义的一个列不能与一个使用不同的FIELDPROC定义的列作比较</td>
</tr>
<tr>
<td>-687</td>
<td>53044</td>
<td>列不能与一个非兼容字段类型的列比较</td>
</tr>
<tr>
<td>-688</td>
<td>58002</td>
<td>返回不正确的数据</td>
</tr>
<tr>
<td>-689</td>
<td>54011</td>
<td>从属表定义了太多的列</td>
</tr>
<tr>
<td>-690</td>
<td>23508</td>
<td>数据定义的控制支持拒绝这个语句</td>
</tr>
<tr>
<td>-691</td>
<td>57018</td>
<td>命名的注册表不存在</td>
</tr>
<tr>
<td>-692</td>
<td>57018</td>
<td>命名的索引不存在，但命名的注册表需要该索引</td>
</tr>
<tr>
<td>-693</td>
<td>55003</td>
<td>命名的注册表/索引的命名列无效</td>
</tr>
<tr>
<td>-694</td>
<td>57023</td>
<td>DROP正在命名的注册表上挂起</td>
</tr>
<tr>
<td>-696</td>
<td>42898</td>
<td>由于相关的名字或者转换表的名字使用不正确，指定的触发器无效</td>
</tr>
<tr>
<td>-697</td>
<td>42899</td>
<td>FOR EACH语句被指定，因此与OLD合NEW相关的名字是不允许的，或者不能为一个BEFORE触发器指定OLD_TABLE和NEW_TABLE</td>
</tr>
<tr>
<td>-713</td>
<td>42815</td>
<td>指定的专用寄存器是无效的</td>
</tr>
<tr>
<td>-715</td>
<td>56064</td>
<td>命名的程序不能被运行，因为他依赖与你所安装的DB2版本的部件，但是你的数据中心没有安装这个部件</td>
</tr>
<tr>
<td>-716</td>
<td>56065</td>
<td>命名的程序使用这个版本的不正确的发行版本做了预编译</td>
</tr>
<tr>
<td>-717</td>
<td>56066</td>
<td>BIND失败，因为他依赖与你所安装的DB2版本的部件，但是你的数据中心没有安装这个部件</td>
</tr>
<tr>
<td>-718</td>
<td>56067</td>
<td>REBIND失败，因为IBMREQD列无效</td>
</tr>
<tr>
<td>-719</td>
<td>42710</td>
<td>不能BIND ADD一个已经存在的程序包</td>
</tr>
<tr>
<td>-720</td>
<td>42710</td>
<td>不能BIND REPLACE一个已经存在的程序包版本</td>
</tr>
<tr>
<td>-721</td>
<td>42710</td>
<td>程序包的一致性记号必须是独一无二的</td>
</tr>
<tr>
<td>-722</td>
<td>42704</td>
<td>绑定错误，因为指定的程序包不存在</td>
</tr>
<tr>
<td>-723</td>
<td>09000</td>
<td>一个触发的SQL语句接受到一个错误</td>
</tr>
<tr>
<td>-724</td>
<td>54038</td>
<td>达到了（16）级联间接的SQL语句的最大项目</td>
</tr>
<tr>
<td>-725</td>
<td>42721</td>
<td>对专门指定的寄存器提供了一个无效值</td>
</tr>
<tr>
<td>-726</td>
<td>55030</td>
<td>因为SYSPKSYSTEM条目，不能绑定这个程序包</td>
</tr>
<tr>
<td>-728</td>
<td>56080</td>
<td>指定的数据类型不能与私有协议发布一起使用</td>
</tr>
<tr>
<td>-729</td>
<td>429B1</td>
<td>用COMMIT ON RETURN定义的存储过程不能用作嵌套的CALL过程的目标</td>
</tr>
<tr>
<td>-730</td>
<td>56053</td>
<td>在只读的共享数据库中为表定义的参照完整性无效</td>
</tr>
<tr>
<td>-731</td>
<td>56054</td>
<td>VSAM数据集必须用SHAREOPTION（1.3）定义</td>
</tr>
<tr>
<td>-732</td>
<td>56055</td>
<td>被定义为只读型数据库却拥有没有定义空间或者索引空间的DB2子系统</td>
</tr>
<tr>
<td>-733</td>
<td>56056</td>
<td>只读共享数据库的定义不一致</td>
</tr>
<tr>
<td>-734</td>
<td>56057</td>
<td>一旦一个数据库被定义为ROSHARE READ，他将不能被更改为其他不同的ROSHARE状态</td>
</tr>
<tr>
<td>-735</td>
<td>55004</td>
<td>用DBID名称标识的数据库不再是一个只读共享数据库</td>
</tr>
<tr>
<td>-736</td>
<td>53014</td>
<td>命名的DBID无效</td>
</tr>
<tr>
<td>-737</td>
<td>53056</td>
<td>在这种状况下，不能建立一个隐含的表空间</td>
</tr>
<tr>
<td>-739</td>
<td>56088</td>
<td>因为同时指定了ALLOW PARALLEL和MODIELES SQL DATA这两个语句，因此已设定的函数将不能再被更改</td>
</tr>
<tr>
<td>-740</td>
<td>51034</td>
<td>在这种方式下不能用MODIELES SQL DATA定义指定的函数</td>
</tr>
<tr>
<td>-741</td>
<td>55030</td>
<td>已经为命名的共享组成员的数据定义了工作文件数据库</td>
</tr>
<tr>
<td>-742</td>
<td>53004</td>
<td>DSNDB07是隐含的工作文件数据库</td>
</tr>
<tr>
<td>-746</td>
<td>57053</td>
<td>在特定的触发器、存储过程或函数中的SQL语句违反嵌套SQL限制</td>
</tr>
<tr>
<td>-747</td>
<td>57054</td>
<td>指定的表是不可用的除非为LOB数据列建立起必须的辅助表</td>
</tr>
<tr>
<td>-748</td>
<td>54042</td>
<td>在指定的辅助表上已经有一个索引</td>
</tr>
<tr>
<td>-750</td>
<td>42986</td>
<td>不能对已指定的表重新命名,因为他至少在一个现存的视图或触发器中被引用</td>
</tr>
<tr>
<td>-751</td>
<td>42987</td>
<td>存储过程或用户自定义的函数试图执行一个不允许执行的SQL语句。DB2的线程被置于MUST_ROLLBACK状态</td>
</tr>
<tr>
<td>-752</td>
<td>0A001</td>
<td>无效CONNECT语句</td>
</tr>
<tr>
<td>-763</td>
<td>560A1</td>
<td>无效的表空间名</td>
</tr>
<tr>
<td>-764</td>
<td>560A2</td>
<td>LOB表空间必须与其相关的基表空间同在一个数据库中</td>
</tr>
<tr>
<td>-765</td>
<td>560A3</td>
<td>表和数据库不兼容</td>
</tr>
<tr>
<td>-766</td>
<td>560A4</td>
<td>不能对辅助表进行请求的操作</td>
</tr>
<tr>
<td>-767</td>
<td>42626</td>
<td>CREATE INDEX失败，因为在辅助表中为索引指定了列，或者因为没有为非辅助表的索引指定列</td>
</tr>
<tr>
<td>-768</td>
<td>560A50</td>
<td>不能为指定的列或者指定的分区建立辅助表，因为其辅助表已经存在</td>
</tr>
<tr>
<td>-769</td>
<td>53096</td>
<td>CREATE AUX TABLE的规格与基表不匹配</td>
</tr>
<tr>
<td>-770</td>
<td>530A6</td>
<td>指定的表必须有一个ROWID列，那么该表才可以包含一个LOB列</td>
</tr>
<tr>
<td>-771</td>
<td>428C7</td>
<td>无效的ROWID列规范</td>
</tr>
<tr>
<td>-797</td>
<td>42987</td>
<td>CREATE TRIGGER包含不被支持的语法</td>
</tr>
<tr>
<td>-798</td>
<td>428C9</td>
<td>不能把一个值插入到用GENERATED ALWAYS定义的ROWID列</td>
</tr>
<tr>
<td>-802</td>
<td>22012</td>
<td>某一特定操作发生了异常错误。被零除</td>
</tr>
<tr>
<td></td>
<td>22003</td>
<td>某一特定操作发生了异常错误。但不是被零除</td>
</tr>
<tr>
<td>-803</td>
<td>23505</td>
<td>不能插入行，因为这将违反唯一索引的约束</td>
</tr>
<tr>
<td>-804</td>
<td>07002</td>
<td>SQLDA的调用参数列表有误</td>
</tr>
<tr>
<td>-805</td>
<td>51002</td>
<td>在计划中没有发现DBRM或程序包名</td>
</tr>
<tr>
<td>-807</td>
<td>23509</td>
<td>对已指定的环境和连接，该程序包不可用</td>
</tr>
<tr>
<td>-808</td>
<td>08001</td>
<td>CONECT语句与程序中的第一个CONNECT语句不一致</td>
</tr>
<tr>
<td>-811</td>
<td>21000</td>
<td>当多行作为一内嵌的选择语句的返回结果是，必须使用游标</td>
</tr>
<tr>
<td>-812</td>
<td>22508</td>
<td>在CURRENT PACKAGESET中的ID集合是空白的，语句不能被执行</td>
</tr>
<tr>
<td>-815</td>
<td>42920</td>
<td>在一个内置选择语句或者一个基本谓词的子查询中，显式的或隐含的指定了GROUP BY或HAVING语句</td>
</tr>
<tr>
<td>-817</td>
<td>25000</td>
<td>执行SQL语句将可能导致禁止更新用户数据或DB2编目</td>
</tr>
<tr>
<td>-818</td>
<td>5103</td>
<td>计划&lt;－&gt;载入组件的时间戳不匹配，在执行计划中没有从同一个预编译中建立DBRM，该预编译是作为组件载入的</td>
</tr>
<tr>
<td>-819</td>
<td>58004</td>
<td>视图不能重建，因为在DB2编目中存储的分析树长度为0</td>
</tr>
<tr>
<td>-820</td>
<td>58004</td>
<td>在这个DB2版本的DB2编目中遇到了无效值</td>
</tr>
<tr>
<td>-822</td>
<td>51004</td>
<td>在SQLDA中遇到了无效地址</td>
</tr>
<tr>
<td>-840</td>
<td>54004</td>
<td>在选择列表或插入列表中返回的项目太多</td>
</tr>
<tr>
<td>-842</td>
<td>08002</td>
<td>到指定位置的连接已经存在</td>
</tr>
<tr>
<td>-843</td>
<td>08003</td>
<td>SET CONNECTION或RELEASE语句无法执行，因为连接不存在</td>
</tr>
<tr>
<td>-870</td>
<td>58026</td>
<td>宿主变量描述符的个数不等于语句中宿主变量的个数</td>
</tr>
<tr>
<td>-872</td>
<td>51302</td>
<td>这个子系统已指定了有效的CCSID</td>
</tr>
<tr>
<td>-873</td>
<td>53090</td>
<td>同一SQL语句中，不能同时引用EBCDIC表中的定义的列和ASCII表中定义的列</td>
</tr>
<tr>
<td>-874</td>
<td>53901</td>
<td>指定对象的编码方案与其表空间的编码方案不匹配</td>
</tr>
<tr>
<td>-875</td>
<td>42988</td>
<td>指定的操作符不能用于ASCII数据</td>
</tr>
<tr>
<td>-876</td>
<td>53092</td>
<td>不能为指定的原因创建对象：提供了原因代码</td>
</tr>
<tr>
<td>-877</td>
<td>53093</td>
<td>数据库或表空间不允许用ASCII，必须使用EBCDIC</td>
</tr>
<tr>
<td>-878</td>
<td>53094</td>
<td>该PLAN——TABLE不能是ASCII，必须使用EBCDIC</td>
</tr>
<tr>
<td>-879</td>
<td>53095</td>
<td>指定对象的CREATE或ALTER语句不能将列、单值类型，某个存储过程或用户自定义函数的参数定义为以下类型：MAXED DATA，GRAPHIC，VARGRAPHIC，LONGVARGRAPHIC，因为系统没有为指定的编码方案定义相应的CCSID</td>
</tr>
<tr>
<td>-900</td>
<td>08003</td>
<td>应用处理没有连接到应用服务器，语句不能被执行</td>
</tr>
<tr>
<td>-901</td>
<td>58004</td>
<td>遇到时断时续的系统错误，该错误不能抑制后继的SQL语句的执行</td>
</tr>
<tr>
<td>-902</td>
<td>58005</td>
<td>内部控制块的指针错误，要求重新绑定</td>
</tr>
<tr>
<td>-904</td>
<td>57011</td>
<td>指定的资源不可用</td>
</tr>
<tr>
<td>-905</td>
<td>57014</td>
<td>超出了资源上限</td>
</tr>
<tr>
<td>-906</td>
<td>51005</td>
<td>因为重大错误，SQL语句无法执行</td>
</tr>
<tr>
<td>-908</td>
<td>23510</td>
<td>当前资源限制设施的规范或者自动重绑定的系统参数不允许BIND，REBIND，AUTOREBIND</td>
</tr>
<tr>
<td>-909</td>
<td>57007</td>
<td>对象已被删除</td>
</tr>
<tr>
<td>-910</td>
<td>57007</td>
<td>因为在该对象上挂起DROP，所以不能访问该对象</td>
</tr>
<tr>
<td>-911</td>
<td>40001</td>
<td>当前工作单元已被回滚</td>
</tr>
<tr>
<td>-913</td>
<td>57033</td>
<td>因为死锁或超时导致不成功执行</td>
</tr>
<tr>
<td>-917</td>
<td>42969</td>
<td>绑定程序包已经失败</td>
</tr>
<tr>
<td>-918</td>
<td>51021</td>
<td>SQL语句不能被执行，因为连接丢失</td>
</tr>
<tr>
<td>-919</td>
<td>56045</td>
<td>需要一个ROLLBACK</td>
</tr>
<tr>
<td>-922</td>
<td>42505</td>
<td>连接权限失败。试图从TSO、CICS或IMS访问DB2，同时相应的连接设施处于非活动的状态</td>
</tr>
<tr>
<td>-923</td>
<td>57015</td>
<td>因为DB2不可用，所以不能建立连接</td>
</tr>
<tr>
<td>-924</td>
<td>58006</td>
<td>遇到了DB2内部的连接错误：提供了原因代码</td>
</tr>
<tr>
<td>-925</td>
<td>2D521</td>
<td>SQL的COMMIT语句不能从CICS或IMS/TM发布</td>
</tr>
<tr>
<td>-926</td>
<td>2D521</td>
<td>SQL的ROLLBACK语句不能从CICS或IMS/TM发布</td>
</tr>
<tr>
<td>-927</td>
<td>51006</td>
<td>当正在连接的环境没有建立时，语言接口被调用。利用DSN命令激发该程序</td>
</tr>
<tr>
<td>-929</td>
<td>58002</td>
<td>数据获取退出已经失败（DPROP）</td>
</tr>
<tr>
<td>-939</td>
<td>51021</td>
<td>由于远程服务器的未请求的回滚，要求一个回滚</td>
</tr>
<tr>
<td>-947</td>
<td>56038</td>
<td>SQL语句失败，因为更新不能被传播（DPROP）</td>
</tr>
<tr>
<td>-948</td>
<td>56062</td>
<td>DDF没有启动，分布式操作无效</td>
</tr>
<tr>
<td>-950</td>
<td>42705</td>
<td>在SQL语句中指定的位置在SYSIBM.LOCATIONS中没有定义</td>
</tr>
<tr>
<td>-965</td>
<td>51021</td>
<td>存储过程非正常终止（在DB2 6之前的版本）</td>
</tr>
<tr>
<td>-981</td>
<td>57015</td>
<td>当前不是处于允许SQL的状态时，试图在RRSAF中执行SQL</td>
</tr>
<tr>
<td>-991</td>
<td>57015</td>
<td>调用连接不能建立一个到DB2的隐含或开放连接</td>
</tr>
<tr>
<td>-2001</td>
<td>53089</td>
<td>为储存过程指定的宿主变量参数的个数不等于预期的参数个数</td>
</tr>
<tr>
<td>-20003</td>
<td>560A7</td>
<td>不能为GRECP中的表空间或索引指定GBPCACHE NONE</td>
</tr>
<tr>
<td>-20004</td>
<td>560A8</td>
<td>对于WORKFILE对象。8KB或16Kb的缓冲池页面大小无效</td>
</tr>
<tr>
<td>-20005</td>
<td>54035</td>
<td>指定的对象类型超出了内部的ID极限</td>
</tr>
<tr>
<td>-20006</td>
<td>53097</td>
<td>当没有指定WLM环境时，LOB不能被指定为参数</td>
</tr>
<tr>
<td>-20070</td>
<td>53098</td>
<td>不能非LOB列建立一个辅助表</td>
</tr>
<tr>
<td>-20071</td>
<td>53099</td>
<td>必须指定WLM环境名</td>
</tr>
<tr>
<td>-20072</td>
<td>56052</td>
<td>指定的权限ID不拥有在触发器程序包上执行BIND所需的权限</td>
</tr>
<tr>
<td>-20073</td>
<td>42927</td>
<td>不能按照指定的要求更改命名的函数，因为在现存的视图定义中引用了该函数</td>
</tr>
<tr>
<td>-20074</td>
<td>42939</td>
<td>不能建立指定的对象，因为“SYS”是一个保留的前缀</td>
</tr>
<tr>
<td>-20100</td>
<td>56059</td>
<td>在被触发的SQL语句中有BIND错误，指定了错误的SQLCODE和SQLSTATE</td>
</tr>
<tr>
<td>-20101</td>
<td>56059</td>
<td>由于指定的原因代码，该函数失败</td>
</tr>
<tr>
<td>-20102</td>
<td>42849</td>
<td>在CREATE或ALTER FUNCTION语句中不能使用指定的选项</td>
</tr>
<tr>
<td>-20104</td>
<td>42856</td>
<td>更改一个CCSID失败</td>
</tr>
<tr>
<td>-20106</td>
<td>42945</td>
<td>不能改变表空间或数据库的CCSID，因为现存的试图引用</td>
</tr>
<tr>
<td>-30000</td>
<td>58008</td>
<td>DRDA分布协议错误；处理可以继续</td>
</tr>
<tr>
<td>-30002</td>
<td>57057</td>
<td>使用DRDA的分布式客户把OPEN语句连接到PREPARE，但PREPARE接受到一个SQLCODE为＋495的警告</td>
</tr>
<tr>
<td>-30020</td>
<td>58009</td>
<td>DRDA分布协议错误；对话被解除</td>
</tr>
<tr>
<td>-30021</td>
<td>58010</td>
<td>DRDA分布协议错误；处理不能继续</td>
</tr>
<tr>
<td>-30030</td>
<td>58013</td>
<td>违反分布协议：COMMIT不成功，对话被解除（AS）</td>
</tr>
<tr>
<td>-30040</td>
<td>57012</td>
<td>因为不能得到资源，执行失败，处理可以继续（AS）</td>
</tr>
<tr>
<td>-30041</td>
<td>57013</td>
<td>因为不能得到资源，执行失败，处理不能成功的继续（AS）</td>
</tr>
<tr>
<td>-30050</td>
<td>58011</td>
<td>执行不成功，在BIND过程中不能执行语句</td>
</tr>
<tr>
<td>-30051</td>
<td>58012</td>
<td>特定的BIND过程不是处于活动状态（远程BIND），从而导致失败</td>
</tr>
<tr>
<td>-30052</td>
<td>42932</td>
<td>程序准备的假设错误</td>
</tr>
<tr>
<td>-30053</td>
<td>42506</td>
<td>程序包的拥有者遭遇授权失败</td>
</tr>
<tr>
<td>-30060</td>
<td>08004</td>
<td>RBD遭遇授权失败</td>
</tr>
<tr>
<td>-30061</td>
<td>08004</td>
<td>指定了无效或者没有存在的RDB</td>
</tr>
<tr>
<td>-30070</td>
<td>58014</td>
<td>目标子系统不支持这个命令</td>
</tr>
<tr>
<td>-30071</td>
<td>58015</td>
<td>目标子系统不支持这个对象</td>
</tr>
<tr>
<td>-30072</td>
<td>58016</td>
<td>目标子系统不支持这个参数</td>
</tr>
<tr>
<td>-30073</td>
<td>58017</td>
<td>目标子系统不支持这个参数值</td>
</tr>
<tr>
<td>-30074</td>
<td>58018</td>
<td>应答信息不被支持</td>
</tr>
<tr>
<td>-30080</td>
<td>08001</td>
<td>SNA通信错误</td>
</tr>
<tr>
<td>-30081</td>
<td>58019</td>
<td>TCP/IP通信错误</td>
</tr>
<tr>
<td>-30082</td>
<td>08001</td>
<td>由于安全冲突、通信失败：提供了原因代码</td>
</tr>
<tr>
<td>-30090</td>
<td>25000</td>
<td>指定的操作对远程执行失败</td>
</tr>
<tr>
<td>-30104</td>
<td>56095</td>
<td>在绑定选项与绑定值中有错误</td>
</tr>
<tr>
<td>-30105</td>
<td>56096</td>
<td>指定的绑定选项不兼容</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.newcoin.info/db2%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81%e5%af%b9%e7%85%a7%ef%bc%8csql%e8%bf%94%e5%9b%9e%e7%a0%81%e4%bf%a1%e6%81%af%e5%af%b9%e7%85%a7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>COBOL经典面试题库（中英文版）</title>
		<link>http://www.newcoin.info/cobol%e7%bb%8f%e5%85%b8%e9%9d%a2%e8%af%95%e9%a2%98%e5%ba%93%ef%bc%88%e4%b8%ad%e8%8b%b1%e6%96%87%e7%89%88%ef%bc%89.html</link>
		<comments>http://www.newcoin.info/cobol%e7%bb%8f%e5%85%b8%e9%9d%a2%e8%af%95%e9%a2%98%e5%ba%93%ef%bc%88%e4%b8%ad%e8%8b%b1%e6%96%87%e7%89%88%ef%bc%89.html#comments</comments>
		<pubDate>Mon, 16 Mar 2009 09:07:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[大型机｜Mainframe]]></category>
		<category><![CDATA[CICS]]></category>
		<category><![CDATA[cobol]]></category>
		<category><![CDATA[DB2]]></category>
		<category><![CDATA[JCL]]></category>
		<category><![CDATA[大机]]></category>
		<category><![CDATA[文档资料]]></category>
		<category><![CDATA[面试]]></category>
		<category><![CDATA[题库]]></category>

		<guid isPermaLink="false">http://newcoin.info/?p=27278</guid>
		<description><![CDATA[我们经常用来复习用的，大多数版本只有英文，这个好像还是基地的同事们一起翻译出来的 Q1) Name the divisions in a COBOL program ?. A1) IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION, PROCEDURE DIVISION. Q：列举COBOL的DEVISION A：标识部，环境部，数据部，过程部 Q2) What are the different data types available in COBOL? A2) Alpha-numeric (X), alphabetic (A) and numeric (9). Q：COBOL有哪些可用的数据类型 A：字符型（这里指的是包含字母和数字），字母型，数字型 Q3) What does the INITIALIZE verb do? &#8211; GS A3) Alphabetic, Alphanumeric fields &#38; [...]]]></description>
			<content:encoded><![CDATA[<p>我们经常用来复习用的，大多数版本只有英文，这个好像还是基地的同事们一起翻译出来的</p>
<p>Q1)	Name the divisions in a COBOL program ?.<br />
A1)	IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION, PROCEDURE DIVISION.<br />
Q：列举COBOL的DEVISION<br />
A：标识部，环境部，数据部，过程部</p>
<p>Q2)	What are the different data types available in COBOL?<br />
A2)	Alpha-numeric (X), alphabetic (A) and numeric (9).<br />
Q：COBOL有哪些可用的数据类型<br />
A：字符型（这里指的是包含字母和数字），字母型，数字型<br />
<span id="more-27278"></span><br />
Q3)	What does the INITIALIZE verb do?  &#8211; GS<br />
A3)	Alphabetic, Alphanumeric fields &amp; alphanumeric edited items are set to SPACES. Numeric, Numeric edited items set to ZERO. FILLER , OCCURS DEPENDING ON items left untouched.<br />
Q：INITIALIZE这个词做了些什么<br />
A：将字母，字符，数字区域都置成空格（置空），将数字区置0， FILLER和OCCURS DEPENDING ON项不处理</p>
<p>Q4)	What is 77 level used for ?<br />
A4)	Elementary level item. Cannot be subdivisions of other items (cannot be qualified), nor can they be subdivided themselves.<br />
Q：77层有什么作用<br />
A：基本层数据项，不能用做细分别的层，也不能被细分<br />
（来源：http://www.newcoin.info）</p>
<p>Q5)	What is 88 level used for ?<br />
A5)	For condition names.<br />
Q：88层有什么作用<br />
A：条件逻辑层</p>
<p>Q6)	What is level 66 used for ?<br />
A6)	For RENAMES clause.<br />
Q：66层有什么作用<br />
A：重命名层</p>
<p>Q7)	What does the IS NUMERIC clause establish ?<br />
A7)	IS NUMERIC can be used on alphanumeric items, signed numeric &amp; packed decimal items and unsigned numeric &amp; packed decimal  items. IS NUMERIC returns TRUE if the item only consists of 0-9. However, if the item being tested is a signed  item, then it may contain 0-9,  + and &#8211; .<br />
Q：IS NUMERIC这个子句怎么确定（也就是说确定句子的真值）<br />
A：IS NUMERIC用在字符项，带符号数字，浮点数，不带符号数。如果目标项只含0~9则返回TRUE。但是，如果待测项目是个带符号数，那么他就含有0-9还有+和-</p>
<p>Q8)	How do you define a table/array in COBOL?<br />
A8)	ARRAYS.<br />
05	ARRAY1	PIC X(9) OCCURS 10 TIMES.<br />
05	ARRAY2	PIC X(6) OCCURS 20 TIMES INDEXED BY WS-INDEX<br />
Q：COBOL中怎么建表/数组<br />
A：如上.</p>
<p>Q9)	Can the OCCURS clause be at the 01 level?<br />
A9)	No.<br />
Q：OCCURS 子句能用在第一层吗<br />
A：不能</p>
<p>（来源：<a href="http://www.newcoin.info">http://www.newcoin.info</a>）</p>
<p>Q10)	What is the difference between index and subscript? &#8211; GS<br />
A10)	Subscript refers to the array occurrence while index is the displacement (in no of bytes) from the beginning of the<br />
array. An index can only be modified using PERFORM, SEARCH &amp; SET. Need to have index for a table in order to<br />
use SEARCH, SEARCH ALL.<br />
Q：索引和下标有什么区别<br />
A：下标可以指定数组中任意中位置的元素（只要知道其下标），下标只能是数字型常量或者数字型变量（但是不能在指定的时候修改，如：A（K+1）这样是不行的，要修改的话要在指定的外部改，如：ADD 1 TO K，而索引的话是从表头/数组头开始检索（以BY N的指定检索规律往后滚）<br />
再者，索引只能通过PERFORM, SEARCH 和SET来修改，如果要在一个表中使用SEARCH, SEARCH ALL，那这个表就要有索引（因为SEARCH, SEARCH ALL的参数中指定索引，所以即使其有很多限制还是得用它）</p>
<p>Q11)	What is the difference between SEARCH and SEARCH ALL? &#8211; GS<br />
A11)	SEARCH &#8211; is a serial search.<br />
SEARCH ALL &#8211; is a binary search &amp; the table must be sorted ( ASCENDING/DESCENDING KEY clause to be used &amp; data loaded in this order) before using SEARCH ALL.<br />
Q：SERACH和SERACH ALL有什么区别<br />
A：SEARCH是顺序查找<br />
SERACH ALL 是2叉查找（相信数据结构学过2叉树的都不会陌生），在使用SEARCH ALL前表必须有一个递增/递减的KEY，并且表已经按照其KEY值排序了，这样才能使用SEARCH ALL</p>
<p>Q12)	What should be the sorting order for SEARCH ALL? &#8211; GS<br />
A12)	It can be either ASCENDING or DESCENDING.  ASCENDING is default.  If you want the search to be done on an<br />
array sorted in descending order, then while defining the array, you should give DESCENDING KEY clause. (You<br />
must load the table in the specified order).<br />
Q：为了使用SEARCH ALL，存贮顺序是怎么样的<br />
A：他必须是递增或者是递减的，默认地政。如果你想在一个递减顺序存贮的表/数组使用搜索的话，那么当定义表/数组的时候你应该加一个DESCENDING KEY子句（这之前表要已经按指定的顺序排序了）</p>
<p>Q13)	What is binary search?<br />
A13)	Search on a sorted array.  Compare the item to be searched with the item at the center.  If it matches, fine else repeat the process with the left half or the right half depending on where the item lies.<br />
Q：什么是2叉查找<br />
A：将你要找的目标项与数组的正中项比较，找到就结束搜索，没找到则继续如此循环（比较下一个中值），取哪一半取决于目标值大于中值还是小于中值<br />
PS：联想2叉树的查找规律就很好理解，因为所谓的“表“本身也就是数组</p>
<p>Q14)	My program has an array defined to have 10 items.  Due to a bug, I find that even if the program access the<br />
11th item in this array, the program does not abend.  What is wrong with it?<br />
A14)	Must use compiler option SSRANGE if you want array bounds checking. Default is NOSSRANGE.<br />
Q：我的程序有个数组定义了10项。因为有个BUG，我发现即使访问第11项，程序也不异常终止。那是出了什么问题<br />
A：必须使用编译器的一个选项SSRANGE，如果你想检查数组的超界问题。默认是NOSSRANGE</p>
<p>Q15)	How do you sort in a COBOL program?  Give sort file definition, sort statement syntax and meaning. &#8211; GS<br />
A15)	 Syntax: SORT file-1 ON ASCENDING/DESCENDING KEY key&#8230;. USING file-2 GIVING file-3.</p>
<p>USING can be substituted by INPUT PROCEDURE IS para-1 THRU para-2<br />
GIVING can be substituted by OUTPUT PROCEDURE IS para-1 THRU para-2.</p>
<p>file-1 is the sort (work) file and must be described using SD entry in FILE SECTION.<br />
file-2 is the input file for the SORT and must be described using an FD entry in FILE SECTION and SELECT<br />
clause in FILE CONTROL.<br />
file-3 is the out file from the SORT and must be described using an FD entry in FILE SECTION and SELECT<br />
clause in FILE CONTROL.<br />
file-1, file-2 &amp; file-3 should not be opened explicitly.</p>
<p>INPUT PROCEDURE is executed before the sort and records must be RELEASEd to  the sort work file from the input procedure.<br />
OUTPUT PROCEDURE is executed after all records have been sorted. Records from the sort work file must be RETURNed one at a time to the output procedure.<br />
Q：怎么在一个COBOL程序中排序？给出排序文件的定义，排序语法和意思<br />
A：语法就是SORT file-1 ON ASCENDING/DESCENDING KEY key&#8230;. USING file-2 GIVING file-3.<br />
USING后程序的输入接口，这个地方可以替换成一个输出过程，也就是说写一个过程往USING这个接口中导数据（要在这个过程中READ，AT END，……），这个过程在将数据释放到执行排序的文件中之前执行，GIVING后是输出借口，用法类似。<br />
此例中输入文件是file-2输出文件是file3(这样个文件必须在文件区中用FD和在文件控制中用到SELECT)真正执行排序的file-1，这里需要注意的是file-1中的文件区不能用FD，应该用SD，file-2和3还是一样（用FD），具体可以看一下书上的例子</p>
<p>Q16)	How do you define a sort file in JCL that runs the COBOL program?<br />
A16)	Use the SORTWK01, SORTWK02,&#8230;.. dd names in the step. Number of sort datasets depends on the volume of data<br />
being sorted, but a minimum of 3 is required.<br />
Q：怎么在JCL中定义一个排序文件来跑这个COBOL程序<br />
A：用SORTWK01, SORTWK02,&#8230;..作为DATA SET NAME。用多少取决于你要排序的数量，但是至少3个。</p>
<p>Q17)	What is the difference between performing a SECTION and a PARAGRAPH? &#8211; GS<br />
A17)	Performing a SECTION will cause all the paragraphs that are part of the section, to be performed.<br />
Performing a PARAGRAPH will cause only that paragraph to be performed.<br />
Q：执行一个区和一个段有什么区别<br />
A：简单来说的话就是区的概念比段大，执行一个区就要执行其内部所有段，执行段的话只执行该段。</p>
<p>（来源：<a href="http://www.newcoin.info">http://www.newcoin.info</a>）</p>
<p>Q18)	What is the use of EVALUATE statement? &#8211; GS<br />
A18)	Evaluate is like a case statement and can be used to replace nested Ifs. The difference between EVALUATE and<br />
case is that no &#8216;break&#8217; is required for EVALUATE i.e. control comes out of the EVALUATE as soon as one match is<br />
made.<br />
Q：EVALUATE语句有什么作用<br />
A：EVALUATE就象个CASE语句（多重开关语句，学过C的总知道吧），不同点在于EVALUATE不需要BREAK，一旦匹配就跳出EVALUATE语句了</p>
<p>Q19)	What are the different forms of EVALUATE statement?<br />
A19)<br />
EVALUATE                                          	EVALUATE SQLCODE ALSO FILE-STATUS<br />
WHEN A=B AND C=D                      		WHEN 100 ALSO &#8217;00&#8242;<br />
imperative stmt                                        		imperative stmt<br />
WHEN (D+X)/Y = 4                            		WHEN -305 ALSO &#8217;32&#8242;<br />
imperative stmt                                        		imperative stmt<br />
WHEN OTHER                                    		WHEN OTHER<br />
imperative stmt                                        		imperative stmt<br />
END-EVALUATE                              	END-EVALUATE</p>
<p>EVALUATE SQLCODE ALSO A=B    	EVALUATE SQLCODE ALSO TRUE<br />
WHEN 100 ALSO TRUE                       		WHEN 100 ALSO A=B<br />
imperative stmt                                 		imperative stmt<br />
WHEN -305 ALSO FALSE             		WHEN -305 ALSO (A/C=4)<br />
imperative stmt                                    	imperative stmt<br />
END-EVALUATE                                    	END-EVALUATE</p>
<p>Q20)	How do you come out of an EVALUATE statement? &#8211; GS<br />
A20)	After the execution of one of the when clauses, the control is automatically passed on to the next sentence after the<br />
EVALUATE statement.  There is no need of any extra code.<br />
Q：怎么跳出一条EVALUATE语句<br />
A：象18题目说的那样，一旦匹配了某一个“WHEN“语句就自动跳出了，不需要什么额外的代码来跳出</p>
<p>Q21)	In an EVALUATE statement, can I give a complex condition on a when clause?<br />
A21)	Yes.<br />
Q：在一个EVALUATE语句的某个WHEN分支中能否再插入复杂的情况（也就是嵌套）<br />
A：当然可以，当多个参数作为控制变量的时候1个WHEN内部可以嵌套更多的情况</p>
<p>Q22)	What is a scope terminator?  Give examples.<br />
A22)	Scope terminator is used to mark the end of a verb e.g. EVALUATE, END-EVALUATE; IF, END-IF.<br />
Q：什么是结束终止符<br />
A：结束终止符是搭配一些范围指令的，也就是标识一些范围指令的结束。如：EVALUATE, END-EVALUATE; IF, END-IF  如果没有该结束符，该条语句将终止不了</p>
<p>Q23)	How do you do in-line PERFORM? &#8211; GS<br />
A23)	PERFORM &#8230;  &#8230;</p>
<p>END-PERFORM<br />
Q：怎么使用内嵌的PERFORM<br />
A：PERFORM &#8230;  &#8230;</p>
<p>END-PERFORM<br />
所谓内嵌也就是PERFORM被嵌在某些比如循环语句中担当执行主体，同时通过UNTIL来指定结束判定</p>
<p>Q24)	When would you use in-line perform?<br />
A24)	When the body of the perform will not be used in other paragraphs. If the body of the perform is a generic type of code<br />
(used from various other places in the program), it would be better to put the code in a separate Para and use<br />
PERFORM Para name rather than in-line perform.<br />
Q：什么时候使用内嵌式PERFORM<br />
A：当该段PERFORM的内容不被其他段用到，只在某些局部代码中（当然PERFORM的主体所用到的参数也都是局部的，例如循环）使用，如果PERFORM主体的代码是一般的（用到了别的程序段的变量），还是使用PERFORM Para name这样的形式比较好（也就是相对与内于PERFORM的外部PERFORM）。</p>
<p>Q25)	What is the difference between CONTINUE &amp; NEXT SENTENCE ?<br />
A25)	They appear to be similar, that is, the control goes to the next sentence in the paragraph. But, Next Sentence would<br />
take the control to the sentence after it finds a full stop (.). Check out by writing the following code example, one if<br />
sentence followed by 3 display statements (sorry they appear one line here because of formatting restrictions) If 1 &gt; 0<br />
then next sentence end if display &#8216;line 1&#8242; display &#8216;line 2&#8242;. display &#8216;line 3&#8242;. *** Note- there is a dot (.) only at the end of<br />
the last 2 statements, see the effect by replacing Next Sentence with Continue ***<br />
Q：CONTINUE 和 NEXT SENTENCE有什么不同<br />
A：两者比较相似，都是将程序控制权交给下一句，但是用NEXT SENTENCE的时候，只有当碰到句结束符（就是句末的‘.’）才会将执行下句<br />
这道题我用了2个例子测试了一下：<br />
1：IF TEST-NUMERIC &gt; 0<br />
THEN NEXT SENTENCE<br />
END-IF<br />
DISPLAY &#8216;LINE1&#8242; DISPLAY &#8216;LINE2&#8242;. DISPLAY &#8216;LINE3&#8242;.（请注意代码中的‘.’号）<br />
结果输出：LINE3<br />
2：IF TEST-NUMERIC &gt; 0<br />
THEN CONTINUE<br />
END-IF<br />
DISPLAY &#8216;LINE1&#8242; DISPLAY &#8216;LINE2&#8242;. DISPLAY &#8216;LINE3&#8242;.<br />
结果输出：LINE1<br />
LINE2<br />
LINE3<br />
相信已经区别已经比较明显了，NEXT SENTENCE是靠句末的结束符（也就是‘.‘）来判断下一句的，而CONTINUE是通过句头的保留字（这例中是DISPLAY）来判断下一句的<br />
Q26)	What does EXIT do ?<br />
A26)	Does nothing ! If used, must be the only sentence within a paragraph.<br />
Q：EXIT语句有什么作用<br />
A：什么都不做，如果用到的话，肯定是作为一段的唯一的一句话，注意：这里不是子程序中用的EXIT PROGRAME</p>
<p>（来源：<a href="http://www.newcoin.info">http://www.newcoin.info</a>）</p>
<p>Q27)	Can I redefine an X(100) field with a field of X(200)?<br />
A27)	Yes. Redefines just causes both fields to start at the same location. For example:</p>
<p>01 WS-TOP PIC X(1)<br />
01 WS-TOP-RED REDEFINES WS-TOP PIC X(2).<br />
If you MOVE &#8217;12&#8242; to WS-TOP-RED,<br />
DISPLAY WS-TOP will show 1 while<br />
DISPLAY WS-TOP-RED will show 12.<br />
Q：能不能把X（100）的区域重定义成X（200）<br />
A：可以，重定义只是相当于把两个区域的首地址放在一起，从上面这个例子也很好理解</p>
<p>A28)	Can I redefine an X(200) field with a field of X(100) ?<br />
Q31)1	Yes.<br />
Q：能不能把X（200）的区域重定义成X（100）<br />
A：可以，原因同上</p>
<p>Q31)2	What do you do to resolve SOC-7 error? &#8211; GS<br />
Q31)	Basically you need to correcting the offending data. Many times the reason for SOC7 is an un-initialized numeric item.<br />
Examine that possibility first. Many installations provide you a dump for run time abend’s ( it can be  generated also<br />
by calling some subroutines or OS services thru  assembly language).  These dumps provide the offset of the last<br />
instruction at which the abend occurred.  Examine the compilation output XREF listing to get the verb and the line<br />
number of the source  code at this offset.  Then you can look at the source code to find the  bug.  To get capture the<br />
runtime dumps,  you will have to define some  datasets (SYSABOUT etc ) in the JCL. If none of these are helpful,  use<br />
judgement and DISPLAY to localize  the source of error. Some installation might have batch program debugging<br />
tools.  Use them.<br />
Q：怎么解决SOC-7错误<br />
A：基本上你要看一下一些比较奇怪的数据，很多导致SOC7的原因都是因为数据项的初始化。<br />
首先检查所有的可能性。某些功能可能提供一个空间用来存贮那些运行时间ABEND，并且提供最近一次运行时间ABEND的偏移量的说明（也就是位于队列中的位置），检查编译器的输出XREF队列以获得一些关键字。然后你就能看下源代码找出BUG。为了捕获一些运行时间的信息，你需要在JCL中建一个DATASET（象SYSABOUT这样的），如果这些都没用，那么再审查一下ERROR出现的位置判断一下原因。有些软件安装了会提供批处理程序调试工具，那么可以就可以用这些工具了。<br />
PS：以上大意就是说SOC-7这个错误多半是因为数据项初始化造成的，然后你应该到运行后编译器的返回信息中去找这些ERROR出现的地方（我们常用的话应该就是走查LOG），查的时候多注意下数据项的初始化问题。</p>
<p>Q32)	How is sign stored in Packed Decimal fields and Zoned Decimal fields?<br />
Q32)	Packed Decimal fields:	Sign is stored as a hex value in the last nibble (4 bits ) of the storage.<br />
Zoned Decimal fields:	As a default, sign is over punched with the numeric value stored in the last bite.<br />
Q：在内部十进制区域和显示十进制区域符号是怎么存贮的<br />
A：内部十进制是一个数字占4位（半字节），内存中用16进制来存，最后在追加4位作为符号，如-4=01001101（末尾的1101表示负，1100表示正），而我们用于显示的十进制，符号并不占空间，只是在最后一位上标识一下</p>
<p>Q33)	How is sign stored in a comp-3 field? &#8211; GS<br />
Q33)	It is stored in the last nibble. For example if your number is +100, it stores hex 0C in the last byte, hex 1C if<br />
your number is 101, hex 2C if your number is 102, hex 1D if the number is -101, hex 2D if the number is -102 etc&#8230;<br />
Q：COMP-3区怎么存储符号<br />
A：COMP-3采用的是内部十进制的存储方式，所谓内部十进制就是压缩式的外部十进制存储方式，上题讲过外部十进制每个数值都用1个字节存储，但前4位是存符号的，这样比较浪费存储空间，所以内部十进制的存储方式就用半个字节（4位）存储一个数字，在最后增加4位作为符号（1100（C）为正，1101（D）为负）</p>
<p>Q34)	How is sign stored in a COMP field ? &#8211; GS<br />
Q34)	In the most significant bit.  Bit is ON if -ve, OFF if +ve.<br />
Q：COMP区怎么存储符号<br />
A：COMP是采用定点二进制的方式存储数据，也就是将一个十进制的数值转化成二进制再进行存储，因为机器存储的形式也是二进制，所以定点二进制的读取是最快速的，因为COMP型的数据是用做计算（也就是说不用再转化成十进制打印），使用定点二进制将会非常高效。这样的存储方式符号是保存在最高有效果位上，如：10=（00001010）₂，</p>
<p>-10=（00011010）₂</p>
<p>（来源：<a href="http://www.newcoin.info">http://www.newcoin.info</a>）</p>
<p>Q35)	What is the difference between COMP &amp; COMP-3  ?<br />
Q35)	COMP is a binary storage format while COMP-3 is packed decimal format.<br />
Q：COMP和COMP-3什么区别<br />
A：这之前讲过了，COMP采用定点二进制存储，COMP-3采用内部十进制存储</p>
<p>Q36)	What is COMP-1? COMP-2?<br />
Q36)	COMP-1  &#8211; Single precision floating point. Uses 4 bytes.<br />
COMP-2 &#8211; Double precision floating point. Uses 8 bytes.<br />
Q：COMP-1是什么？什么是COMP-2<br />
A：其实之所以定义计算型数据（COMP~COMP-3）以区别DISPLAY（能计算，但是要用于打印）是为了考虑效率，因为大家知道文件导入（也就是USER使用的数据）一般是十进制的，而机器存储都是二进制，那么当定义的数据光用来计算不用打印，处于效率考虑会把它定义成COMP型，当然就会衍生出几类COMP以适应不用的数据类型的存储。很明显，这里COMP-1就是采用内部短浮点（4个字节表示一个数，8位指数部分，24位表示数字部分），COMP-2用内部长浮点型（8个字节表示一个书，16位指数部分，48位表示数字部分）以适应浮点数据的存储，长浮点精确度更高.</p>
<p>Q37)	How do you define a variable of COMP-1?  COMP-2?<br />
Q37)	No picture clause to be given. Example 01 WS-VAR USAGE COMP-1.<br />
Q:怎么定义一个COMP-1型？COMP-2型<br />
A：不要用PICTURE描述，因为是确定分配多少内存的，直接用USAGE，如01 WS-VAR USAGE COMP-1</p>
<p>Q38)	How many bytes does a S9(7) COMP-3 field occupy ?<br />
Q38)	Will take 4 bytes. Sign is stored as hex value in the last nibble. General formula is INT((n/2) + 1)), where n=7 in this<br />
example.<br />
Q：一个S9（7）的COMP-3型占用多少字节？<br />
A：占用4字节。COMP-3用内部十进制存储，S9（7）中的S是要占空间的，符号占4位，7个数字，每个4位（半个字节），所以是（4+7*4）/8=4字节（字节和位的比例不要搞错了哦）</p>
<p>Q39)	How many bytes does a S9(7) SIGN TRAILING SEPARATE field occupy ?<br />
Q39)	Will occupy 8 bytes (one extra byte for sign).<br />
Q：一个S9(7) SIGN TRAILING SEPARATE区域占多少字节<br />
A：这里是每个符号单独分配空间（也就是没个数值用1个字节表示，就象最常用的DISPLAY型的分配方式），算上S的空间，所以是7+1=8字节。一般情况省略的SIGN子句都是隐含SIGN IS TRAILING的</p>
<p>Q40)	How many bytes will a S9(8) COMP field occupy ?<br />
Q40)	4 bytes.<br />
Q： 一个S9(8) COMP 区域占多少字节<br />
A：如果之前关于COMP的解释听懂了的话，那很显然就是4字节了（定点二进制用2字节存储1~4，4字节存储5~9，……类推，你可以自己推下），如果这块还不懂的可以问我或者查下书</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newcoin.info/cobol%e7%bb%8f%e5%85%b8%e9%9d%a2%e8%af%95%e9%a2%98%e5%ba%93%ef%bc%88%e4%b8%ad%e8%8b%b1%e6%96%87%e7%89%88%ef%bc%89.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
