ALTER TABLE ... ALTER COLUMN ...设置数据类型 [英] ALTER TABLE ... ALTER COLUMN ... SET DATA TYPE

查看:970
本文介绍了ALTER TABLE ... ALTER COLUMN ...设置数据类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人知道这句话失败的原因吗?


db2 => ALTER TABLE ELMT_T ALTER COLUMN CDTY_CD SET DATA TYPE VARCHAR(51)

DB21034E该命令作为SQL语句处理,因为它不是

有效命令行处理器命令。在SQL处理期间,它返回:

SQL0901N由于非严重的系统错误,SQL语句失败。

可以处理后续的SQL语句。 (原因" this-> qunqtbssc.op()!=

NULLP"。)SQLSTATE = 58004


谢谢,

-Jane

Does any one know why this statement is failing?

db2 => ALTER TABLE ELMT_T ALTER COLUMN CDTY_CD SET DATA TYPE VARCHAR(51)

DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0901N The SQL statement failed because of a non-severe system error.
Subsequent SQL statements can be processed. (Reason "this->qunqtbssc.op() !=
NULLP".) SQLSTATE=58004

Thanks,
-Jane

推荐答案

您的语法是正确的,至少对于Linux / UNIX / Windows上的表格如果

其当前数据类型为varchar,长度为50或更短:


db2 create TABLE ELMT_T(CDTY_CD varchar(50))

DB20000I SQL命令已完成成功。


db2 ALTER TABLE ELMT_T ALTER COLUMN CDTY_CD SET DATA TYPE VARCHAR(51)

DB20000I SQL命令成功完成。

Jane写道:
Your syntax is correct, at least for a table on Linux/UNIX/Windows if
its current data type is varchar with a length of 50 or less:

db2 create TABLE ELMT_T (CDTY_CD varchar(50))
DB20000I The SQL command completed successfully.

db2 ALTER TABLE ELMT_T ALTER COLUMN CDTY_CD SET DATA TYPE VARCHAR(51)
DB20000I The SQL command completed successfully.
Jane wrote:
有没有人知道为什么这个陈述失败了?

db2 => ALTER TABLE ELMT_T ALTER COLUMN CDTY_CD SET DATA TYPE VARCHAR(51)
DB21034E该命令作为SQL语句处理,因为它不是一个有效的命令行处理器命令。在SQL处理期间,它返回:
SQL0901N由于非严重的系统错误,SQL语句失败。
可以处理后续的SQL语句。 (原因" this-> qunqtbssc.op()!=
NULLP"。)SQLSTATE = 58004

谢谢,
-Jane
Does any one know why this statement is failing?

db2 => ALTER TABLE ELMT_T ALTER COLUMN CDTY_CD SET DATA TYPE VARCHAR(51)

DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0901N The SQL statement failed because of a non-severe system error.
Subsequent SQL statements can be processed. (Reason "this->qunqtbssc.op() !=
NULLP".) SQLSTATE=58004

Thanks,
-Jane






SQLCODE -901通常表示内部有问题。你应该

接触DB2支持

- 。

__________________________________________________ ___________________

道格Doole

DB2通用数据库开发

IBM多伦多实验室

http://www.ibm.com/software/data/db2 .. .s2unix / support
SQLCODE -901 generally indicates something''s wrong internally. You should
contact DB2 support.
--
__________________________________________________ ___________________
Doug Doole
DB2 Universal Database Development
IBM Toronto Lab

Visit the DB2 UDB and DB2 Connect Online Support site at:
http://www.ibm.com/software/data/db2...s2unix/support


目前cdty_cd是varchar(48)。我试图把它扩大到VARCHAR(51)


柱类型类型

名称架构名称长度尺度空值

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


CDTY_CD SYSIBM VARCHAR 48 0否


这可能是环境问题吗?这是DB2中的错误吗?

''ALTER''语句适用于某些表而不适用于其他表。


谢谢

-Jane
Currently the cdty_cd is varchar(48). I am trying to extend it to varchar(51).

Column Type Type
name schema name Length Scale Nulls
----- --------- ------------------ -------- ----- -----

CDTY_CD SYSIBM VARCHAR 48 0 No

Could this be a environment issue? Is this a bug in DB2?
The ''ALTER'' statement works for some tables and not for others.

Thanks
-Jane


这篇关于ALTER TABLE ... ALTER COLUMN ...设置数据类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆