Compartir a través de


SET NULL (Comando)

Determina si los comandos ALTER TABLE, CREATE TABLE e INSERT - SQL admiten valores NULL.

SET NULL ON | OFF

Parámetros

  • ON
    Especifica que todas las columnas de una tabla creadas con ALTER TABLE y CREATE TABLE permiten valores NULL. Es posible anular el soporte para valores NULL para columnas de la tabla incluyendo la cláusula NOT NULL en las definiciones de columnas.

    Además, especifica que INSERT - SQL intentará insertar valores NULL en cualquier columna que no esté incluida en la cláusula INSERT - SQL VALUE. INSERT - SQL sólo podrá insertar correctamente valores NULL en columnas que admitan valores NULL.

    Nota   Si agrega soporte para valores NULL en una o varias columnas de una tabla, el límite de número de columnas para dicha tabla disminuirá de 255 a 254.

  • OFF
    (Predeterminado) Especifica que todas las columnas de una tabla creada con ALTER TABLE y CREATE TABLE no admiten valores NULL. Es posible designar soporte de valores NULL para columnas en ALTER TABLE y CREATE TABLE incluyendo la cláusula NULL en las definiciones de columnas.

    Asimismo, especifica que INSERT - SQL insertará valores en blanco en las columnas no incluidas en la cláusula INSERT - SQL VALUE.

Observaciones

SET NULL sólo afecta al soporte para valores NULL de ALTER TABLE, CREATE TABLE e INSERT - SQL. Otros comandos no se ven afectados por SET NULL. SET NULL tiene como alcance la sesión actual de datos.

Ejemplo

El ejemplo siguiente demuestra cómo afecta SET NULL al soporte de valores NULL. La primera tabla, employee, se crea con SET NULL ON, por lo que sus campos aceptan valores NULL. Se usa REPLACE para situar un valor NULL en el campo cLastName. La segunda tabla, staff, se crea con SET NULL OFF, por lo que sus campos no aceptan valores NULL. Se usa REPLACE para colocar cero en el campo cLastName.

CLOSE DATABASES
SET NULL ON        && Fields will support null values
CREATE TABLE employee (cLastName C(20), ySalary Y(12,2))
APPEND BLANK       && Add a new blank record
REPLACE cLastName WITH .NULL.  && cLastName supports null values

SET NULL OFF       && Fields will not support null values
CREATE TABLE staff (cLastName C(20), ySalary Y(12,2))
APPEND BLANK       && Add a new blank record
REPLACE cLastName WITH 0   && Doesn't support null values

Vea también

ALTER TABLE | CREATE TABLE | INSERT - SQL | ISNULL( ) | NVL( ) | SET DATASESSION