毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 数据库 >> 正文

DB2修改表结构最好的方式是什么

更新时间:2012-12-26:  来源:毕业论文

DB2修改表结构最好的方式是什么
数据库是DB2,一个字段原来是decimal(9,2),我想改成decimal(13,2),修改后报错全部信息如下:

--------------------------------------------------------------------

[IBM][CLI Driver][DB2/NT] SQL0443N  例程 "ALTOBJ"(特定名称 "")返回错误
SQLSTATE,且诊断文本为 "SQL0204 Token: SYSTOOLS.ALTOBJ_INFO_V         
               "。  SQLSTATE=38553

说明:
SQLSTATE 与消息正文 "<正文>" 一起由例程 "<例程名>"(特定名称 "<特定名
称>")返回给 DB2。例程可以是用户定义的函数或用户定义的方法。

用户响应:
用户需要理解该错误的含意。咨询数据库管理员,或例程的程序设计者。
由 IBM 提供的函数在 SYSFUN 模式中检测到的错误全都返回 SQLSTATE 38552。
消息的消息正文部分的格式是:
SYSFUN:nn

其中 nn 是原因码,它表示:

01       数值超出范围

02       被零除

03       算术溢出或下溢

04       日期格式无效

05       时间格式无效

06       时间戳记格式无效

07       时间戳记持续时间的字符表示法无效

08       时间间隔类型无效(必须是 1、2、4、8、16、32、64、128、256 之一
         )

09       字符串太长

10       字符串函数中的长度或位置超出范围

11       浮点数的字符表示法无效

12       内存不足

13       意外错误

由 IBM 提供的例程在 SYSIBM 或 SYSPROC 模式中以及 IBM 提供的过程在 SYSFUN
模式中检测到的错误全都返回 SQLSTATE 38553。消息的消息正文部分一个包含可
能是 SQLCODE 的消息号(例如,SQL0572N),一个 DBA 错误消息(例如,
DBA4747)或例程的其他一些指示(例如,遇到了什么错误)。注意,如果该消息
号的消息正常地包含标记,那么这些标记值仅在 db2diag.log 文件中可用。
  sqlcode:  -443
  sqlstate: (例程返回的 SQLSTATE)。

--------------------------------------------------------------

请江湖上的朋友帮帮忙,能否给解释下报错原因?不知怎样修改DB2表结构才是最好的方式?

最好的方式是drop后重建 但如果有数据的话就有些麻烦

CREATE TABLE test(id INT,price DECIMAL(9,2)) ALTER TABLE test ALTER COLUMN price SET DATA TYPE DECIMAL(13,2)

用alter直接改的吗?正常情况下,长度短的变长,应该不会报错,不行你就只能导出数据,删掉重建表了

删除重建表,把数据导入,目前还算正常。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。