S E T N U L L 命 令

S E T N U L L 命 令 - 图1S E T N U L L 命 令 - 图2确定 ATLTER TABLE CREATE TABLE 和 INSERT-SQL 命令如何处理 null 值

语 法

SET NULL ON | OFF

参 数 描 述

O N

指 定 由 ALTER TABLE 和 CREATE TABLE 所 创 建 表 的 所 有 列 都 允 许 null

S E T N U L L 命 令 - 图3S E T N U L L 命 令 - 图4值 在 列 定 义 中 加 入 NOT NULL 子 句 使 该 列 不 接 受 null 值

S E T N U L L 命 令 - 图5S E T N U L L 命 令 - 图6S E T N U L L 命 令 - 图7另 外 参 数 O N 还 指 定 INSERT - SQL 语 句 把 null 值 加 入 到 INSERT - SQL VALUE 子 句 中 没 有 包 括 的 列 中 INSERT - SQL 只 将 null 值 插 入 到 允许 null 值 的 列 中

S E T N U L L 命 令 - 图8注 意 如 果 增 加 支 持 null. 值 的 栏 的 数 目 则 该 表 的 栏 目 限 制 将 缩 减 到 254-255

S E T N U L L 命 令 - 图9之 间

S E T N U L L 命 令 - 图10S E T N U L L 命 令 - 图11OFF

默 认 值

指 定 由

ALTER TABLE 和

CREATE TABLE 所 创 建 表 的 所 有 列
都 不 允 许

null 值

在 列 定 义 时 可 以 在

ALTER TABLE 和 CREATE TABLE

S E T N U L L 命 令 - 图12S E T N U L L 命 令 - 图13中 加 入 NULL 子 句 使 列 接 受 null 值

S E T N U L L 命 令 - 图14S E T N U L L 命 令 - 图15另 外 参 数 OFF 还 指 定 INSERT - SQL 语 句 把 空 值 加 入 到 INSERT - SQL VALUE 子 句 没 有 包 括 的 列 中

说 明

S E T N U L L 命 令 - 图16SET NULL 只影响 ALTER TABLE CREATE TABLE 和 INSERT - SQL 语句是否支

S E T N U L L 命 令 - 图17S E T N U L L 命 令 - 图18持 null 值 其他命令不受 SET NULL 的影响

S E T N U L L 命 令 - 图19SET NULL 的作用范围是当前数据工作期

示 例

S E T N U L L 命 令 - 图20S E T N U L L 命 令 - 图21S E T N U L L 命 令 - 图22下面的示例说明了 SET NULL 如何影响 null 值 第一个表 employee 在 SET NULL ON 时创建 因此该表的各个字段支持 null 值 用 REPLACE 在 cLastName 字段中

S E T N U L L 命 令 - 图23S E T N U L L 命 令 - 图24加入 null 值 第二个表 stuff 在 SET NULL OFF 时创建 因此它的各字段不支持

S E T N U L L 命 令 - 图25S E T N U L L 命 令 - 图26null 值 用 REPLACE 在 cLastName 字段中加入 0 值

CLOSE DATABASES

SET NULL ON && 字段支持 null 值

CREATE TABLE employee (cLastName C(20), ySalary Y(12,2)) APPEND BLANK && 添加一个新的空记录

REPLACE cLastName WITH .NULL. && cLastName 支持 null 值

SET NULL OFF && 字段不支持 null 值

CREATE TABLE stuff (cLastName C(20), ySalary Y(12,2)) APPEND BLANK && 添加一个新的空记录REPLACE cLastName WITH 0 && 不支持 null 值

请 参 阅

ALTER TABLE , CREATE TABLE , INSERT – S Q L , ISNULL ( ) , NVL( ) ,

SET DATASESSION