Pular para o conteúdo
  • Este tópico contém 5 respostas, 2 vozes e foi atualizado pela última vez 14 anos, 2 meses atrás por diegolenhardt.
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #102336
    rman
    Participante

      Olá,

      Estou criando a seguinte tabela:


      CREATE TABLE LOCALIDADES(
      ID NUMBER(8) NOT NULL
      ,UF VARCHAR2(2) NOT NULL
      ,NOME VARCHAR2(72) NOT NULL
      ,CEP VARCHAR2(8)
      ,SITUACAO VARCHAR2(1) NOT NULL
      ,TIPO VARCHAR2(1) NOT NULL
      ,LOCALIDADE_ID NUMBER(8)
      ,NOMEABREVIADO VARCHAR2(36)
      ,CODIGOIBGE VARCHAR2(7)
      )
      TABLESPACE TS_DATA;

      O nome das constraints NOT NULL estão sendo geradas automáticas (SYS_XXXXX), é possível definir esse nome ?

      #102337
      diegolenhardt
      Participante

        um jeito seria dar rename na constranit

        ALTER TABLE tabela RENAME CONSTRAINT SYS_C0000 TO ‘name’;

        ou então criar uma check…

        #102338
        rman
        Participante

          @diegolenhardt

          Para PK e FK eu consigo criar e escolher um nome através do ALTER TABLE ADD CONSTRAINT .

          Para NOT NULL não da pra criar escolhendo o nome ? Só renomeando mesmo ?

          #102339
          diegolenhardt
          Participante

            acho que pra escolher o nome antes, só se fizer com a check constraint,

            desconheco opção pra isso.

            =/

            #102340
            rman
            Participante

              @diegolenhardt

              NOT NULL por baixo é um CHECK ?

              Renomeando a CONSTRAINT, observei que a coluna NULLABLE no PL/SQL Developer ficou desmarcada, e na aba CHECK apareceu a CONSTRAINT. 😯

              #102341
              diegolenhardt
              Participante

                fiz uma busca aqui,

                aparentemente são a mesma coisa, mas segundo um post que encontrei é uma forma mais conveniente de fazer, um caminho mais pratico.

                How exactly would you like Oracle to check whether value inserted into column A is not null? I mean, what’s wrong with this? “NOT NULL” is here just for your convenience; this could be done this way:
                Code:

                CREATE TABLE abc
                (a number NOT NULL,
                b number CHECK (b IS NOT NULL));

                Both work the same way, and both add a row into the user_constraints table.

                http://www.dbforums.com/oracle/1119093- … olumn.html
                [/quote]

              Visualizando 6 posts - 1 até 6 (de 6 do total)
              • Você deve fazer login para responder a este tópico.