Compartilhar via


Instrução ALTER TABLE (Microsoft Access SQL)

Aplica-se a: Access 2013, Office 2013

Modifica o design de uma tabela depois de ter sido criada com a instrução CREATE TABLE.

Observação

O mecanismo de banco de dados do Microsoft Access não oferece suporte para o uso da instrução ALTER TABLE, ou para quaisquer instruções da linguagem de definição de dados (DDL), com bancos de dados que não sejam do Microsoft Access. Em vez disso, utilize os métodos DAO Criar.

Sintaxe

TABELA ALTER TABLE { ADD {COLUMN field type[(size)] [NOT NULL] [ ÍNDICE CONSTRAINT] | Tipo de campo ALTER COLUMN[(size)] | CONSTRAINT multifieldindex} | DROP {COLUMN field I CONSTRAINT indexname} }

A instrução ALTER TABLE possui as seguintes partes:

Parte

Descrição

table

O nome da tabela a ser alterada.

campo

O nome do campo a ser adicionado ou excluído da tabela. Ou o nome do campo a ser alterado na tabela.

tipo

O tipo de dados do campo.

size

O tamanho do campo em caracteres (somente os campos Texto e Binário).

índice

O índice de campo. Para saber mais sobre como construir o índice, confira a cláusula CONSTRAINT.

índicedevárioscampos

A definição de um índice de campos múltiplos a ser adicionado a tabela. Para saber mais sobre como construir o índice, confira a cláusula CONSTRAINT.

nomedoíndice

O nome do índice de vários campos a ser removido.

Comentários

Ao usar a instrução ALTER TABLE, você pode alterar uma tabela existente de diversas maneiras. Você pode:

  • Usar ADD COLUMN para adicionar um novo campo à tabela. Você especifica o nome do campo, o tipo de dados e (para os campos Texto e Binário) um tamanho opcional. Por exemplo, a seguinte instrução adiciona um campo Texto de 25 caracteres chamado Anotações à tabela Funcionários:

      ALTER TABLE Employees ADD COLUMN Notes TEXT(25)
    

    Você também pode definir um índice nesse campo. Para saber mais sobre índices de um único campo, confira a cláusula CONSTRAINT.

    Se você especificar um campo como NOT NULL, novos registros serão necessários para ter dados válidos nesse campo.

  • Use ALTER COLUMN para alterar o tipo de dados de um campo existente. Você especifica o nome do campo, o novo tipo de dados e um tamanho opcional para os campos Texto e Binário. Por exemplo, a seguinte instrução altera o tipo de dados de um campo chamado CEP na tabela Funcionários (originalmente definido como Inteiro) para um campo Texto de 10 caracteres:

      ALTER TABLE Employees ALTER COLUMN ZipCode TEXT(10)
    
  • Use ADD CONSTRAINT para adicionar um índice de campos múltiplos. Para saber mais sobre índices de vários campos, confira a cláusula CONSTRAINT.

  • Use DROP COLUMN para excluir um campo. Você especifica somente o nome do campo.

  • Use DROP CONSTRAINT para excluir um índice de vários campos. Você especifica somente o nome do índice que segue a palavra reservada CONSTRAINT.

Observação

  • Não é possível adicionar ou excluir mais de um campo ou índice por vez.
  • Você pode usar a instrução CREATE INDEX para adicionar um índice de campo único ou de vários campos a uma tabela, e pode usar as instruções ALTER TABLE ou DROP para excluir um índice criado com ALTER TABLE ou CREATE INDEX.
  • Você pode usar NOT NULL em um único campo ou em uma cláusula nomeada CONSTRAINT que se aplica a um único campo ou a vários campos chamados CONSTRAINT. No entanto, você pode aplicar a restrição NOT NULL apenas uma vez a um campo. Tentar aplicar a restrição mais de uma vez acarretará um erro de tempo de execução.

Exemplo

Este exemplo adiciona um campo Salário com o tipo de dados Dinheiro à tabela Funcionários.

    Sub AlterTableX1() 
     
        Dim dbs As Database 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
     
        ' Add the Salary field to the Employees table  
        ' and make it a Money data type. 
        dbs.Execute "ALTER TABLE Employees " _ 
            & "ADD COLUMN Salary MONEY;" 
     
        dbs.Close 
     
    End Sub 

Este exemplo altera o campo Salário do tipo de dados Dinheiro para o tipo de dados de Caractere.

    Sub AlterTableX2() 
     
        Dim dbs As Database 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
     
        ' Modify the existing Salary field of the Employees table  
        ' by changing it to a CHAR data type. 
        dbs.Execute "ALTER TABLE Employees " _ 
            & "ALTER COLUMN Salary CHAR(20);" 
     
        dbs.Close 
     
    End Sub 

Este exemplo remove o campo Salário da tabela Funcionários.

    Sub AlterTableX3() 
     
        Dim dbs As Database 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
     
        ' Delete the Salary field from the Employees table. 
        dbs.Execute "ALTER TABLE Employees " _ 
            & "DROP COLUMN Salary;" 
     
        dbs.Close 
     
    End Sub

Este exemplo adiciona uma chave estrangeira à tabela Pedidos. A chave estrangeira é baseada no campo IDdoFuncionário e se refere ao campo IDdoFuncionário na tabela Funcionários. Neste exemplo, não é necessário listar o campo IDdoFuncionário depois da tabela Funcionários na cláusula REFERENCES, pois a IDdoFuncionário é a principal chave da tabela Funcionários.

    Sub AlterTableX4() 
     
        Dim dbs As Database 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
     
        ' Add a foreign key to the Orders table. 
        dbs.Execute "ALTER TABLE Orders " _ 
            & "ADD CONSTRAINT OrdersRelationship " _ 
            & "FOREIGN KEY (EmployeeID) " _ 
            & "REFERENCES Employees (EmployeeID);" 
     
        dbs.Close 
     
    End Sub 

Este exemplo remove a chave estrangeira da tabela Pedidos.

    Sub AlterTableX5() 
     
        Dim dbs As Database 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
     
        ' Remove the OrdersRelationship foreign key from 
        ' the Orders table. 
        dbs.Execute "ALTER TABLE Orders " _ 
            & "DROP CONSTRAINT OrdersRelationship;" 
     
        dbs.Close 
     
    End Sub