Oracle数据库编程经典300例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实例018 使用ALTER TABLE命令修改字段

【实例描述】

前面实例介绍的是使用ALTER TABLE命令能够增加新的字段,ALTER TABLE命令还可以为一个已经存在的表修改其已有的字段,修改一般包括对其字段名、数据类型、长度和相关的完整性约束的修改。

本实例对于上述基本表STU,该表在创建时没有为SNAME字段设定NOT NULL,现需要为该表的SNAME字段设置NOT NULL,同时将其默认值设置为“无”,并将字段长度改成15个字节。本实例执行完成后,在SQL*Plus中查看表结构,如图2-5所示。

图2-5 修改后的表结构

【实现代码】

    SQL> ALTER TABLE STU
      2  MODIFY SNAME VARCHAR2(15)
      3  DEFAULT '无'
      4  NOT NULL
      5  /

【范例解析】

本实例使用ALTER TABLE命令修改字段。与实例017添加字段类似的,修改字段也使用ALTER TABLE命令来完成。在Oracle PL/SQL中,使用ALTER TABLE命令用于修改字段的常用格式为:

    ALTER TABLE 〈表名1〉
    MODIFY [COLUMN]
    〈字段名1〉〈字段类型〉[(〈长度〉[,〈小数位数〉])]
    [DEFAULT〈表达式1〉]
    [NULL | NOT NULL]

其中,表名1指明被修改表的表名,MODIFY是修改字段的关键字,在T-SQL中该关键字是ALTER。在使用该命令语句设定DEFAULT时,其操作与CREATE TABLE命令相同,指定默认值后使用DESC命令在SQL*Plus中不会显示,读者可以试着打开PL/SQL Developer工具,连接登录后在左侧的树形目录中执行【Tables】|【STU】命令,右键单击后,在弹出的快捷菜单中执行【查看】命令,显示如图2-6所示的对话框,该对话框即以图形方式显示了STU表的参数。

图2-6 查看表STU

注意:如果字段数据类型为字符型,在指定该字段默认值时,需要使用一对单引号括起来,数值型数据类型则不必。