Crear Restricción Predeterminada de SQL de Oracle

Procedentes de SQL Server, estoy aprendiendo algunas de Oracle sintaxis.

Esta es mi tabla de DDL

CREATE TABLE "CDR"."EXTDL_REPORTSETS"
  (
    "ID"                NUMBER(38,0) NOT NULL ENABLE,
    "SHORTNAME"         NUMBER(38,0) NOT NULL ENABLE,
    "DESCRIPTION"       NUMBER(38,0) NOT NULL ENABLE,
    "ASOFSTARTDATETIME" NUMBER(38,0) NOT NULL ENABLE,
    "ASOFENDDATETIME"   NUMBER(38,0) NOT NULL ENABLE,
    CONSTRAINT "PK_EXTDL_REPORTSETS" PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "CDR_DATA" ENABLE
  )
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE
  (
    INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
  )
  TABLESPACE "CDR_DATA" ;

Quiero defecto ASOFSTARTDATETIME a SysDate. ¿Cómo se establece una restricción predeterminada en PL/SQL?

EDITAR

Los tipos de datos había llegado en mal estado, por lo que modifiqué.

CREATE TABLE CDR.ExtDL_Reportsets(
    Id                   NUMBER(38, 0)    NOT NULL,
    ShortName            VARCHAR2(255)    NOT NULL,
    Description          VARCHAR2(500)    NOT NULL,
    AsOfStartDateTime    DATE             NOT NULL,
    AsOfEndDateTime      DATE,
    CONSTRAINT PK_ExtDL_Reportsets PRIMARY KEY (Id)
)
;
  • Mi modelo de datos se corrompe y dejó de pagar todo lo que a Número (38, 0). He cambiado las columnas de vuelta a sus tipos de datos original.
  • Que es una mierda, he actualizado mi respuesta para reflejar los tipos de datos correctos.
  • Hey! Si yo pudiera doble upvote que por el esfuerzo, me gustaría!
InformationsquelleAutor Raj More | 2010-08-09

1 Kommentar

  1. 4

    Uso:

    ALTER TABLE EXTDL_REPORTSETS
         MODIFY last_ASOFSTARTDATETIME DATE DEFAULT SYSDATE

    Estoy teniendo problemas para desenterrar el 10g documentación de referencia – esto es para 11g.

    Si quieres hacerlo en la instrucción CREATE TABLE:

    CREATE TABLE "CDR"."EXTDL_REPORTSETS" (
      "ID"                NUMBER(38,0) NOT NULL ENABLE,
      "SHORTNAME"         VARCHAR2(255) NOT NULL ENABLE,
      "DESCRIPTION"       VARCHAR2(500) NOT NULL ENABLE,
      "ASOFSTARTDATETIME" DATE DEFAULT SYSDATE NOT NULL ENABLE,
      "ASOFENDDATETIME"   DATE NOT NULL ENABLE,
      CONSTRAINT "PK_EXTDL_REPORTSETS" PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "CDR_DATA" ENABLE
    )
    PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE (
       INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
    )
    TABLESPACE "CDR_DATA" ;

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea