请问,为什么Oracle不能对数据库表里的字段进行删除或改字段名的操作呢?

trybird 2001-09-29 12:03:11
用PL/SQL进行删除或改字段名的操作难道不行吗?

比如在SQL Server里下面的语句可以,但Oracle不行——

alter table Voucher drop column MCHID;
...全文
137 点赞 收藏 6
写回复
6 条回复
zhuzhichao 2001年09月29日
請使用
Oracle8.17
它已經解決了上面的問題.
回复 点赞
xzou 2001年09月29日
可以的,可能是你对这个表的权限不够
回复 点赞
9Thoughts 2001年09月29日
我一直没觉得什么不对,这也是为了数据安全性和完整性。
系统运行到中间想删除字段?修改名称?这太可怕了,如果在开发过程中也够受的,影响可能很大。
回复 点赞
KingSunSha 2001年09月29日
ORACLE不是ACCESS, 如果你真的用ORACLE做项目的话, 应该在建库以前做过详细的分析, 而不是随随便便想起来加一个字段,删一个字段的. 如果你经常需要这么做, 我想你的项目也用不到ORACLE, 还是改用ACCESS吧.

当然还是有一些办法可以用的:
1. 删除字段:
CREATE TABLE TABLE2 AS SELECT (F1,F2,F3) FROM TABLE1 --不包含你要删除的字段
2. 更改字段名:
CREATE TABLE TABLE2 (F1,F2,F3,NEWFIELD) -- 包含新的字段名
AS SELECT (F1,F2,F3,OLDFIELD) FROM TABLE1 -- 包含旧的字段名
然后DROP TABLE1, RENAME TABLE2 TO TABLE1
回复 点赞
trybird 2001年09月29日
但我用的是8.0.5i呀!
My God!
是不是8.1以后才可以删除字段?

总觉得Oracle的易用性太差了!
回复 点赞
feng_zi 2001年09月29日
8.1以后是可以删除字段了,
改名呢?
回复 点赞
发动态
发帖子
Sybase
创建于2007-09-28

2408

社区成员

2.5w+

社区内容

Sybase相关技术讨论区
社区公告
暂无公告