SóProvas


ID
992101
Banca
FCC
Órgão
TRT - 12ª Região (SC)
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Os comandos em PL/SQL utilizados para remover todas as linhas de uma tabela, remover linhas de uma tabela com a possibilidade de utilização de um critério para a seleção das linhas que serão removidas e remover uma tabela de um banco de dados são, respectivamente,

Alternativas
Comentários
  • Primeiramente não existe o comando ERASE o que elimina as alternativas A, C e E. 
    Explicando-se os comandos: 
    TRUNCATE: remove todas as linhas de uma tabela funcionando como o DELETE, porém sem a utilização da cláusula WHERE. Porém é mais rápido.
    DELETE: remove uma ou mais linhas dependendo do critério.
    DROP: remove uma tabela assim como os seus dados, índices, restrições, enfim...

    ... logo a alternativa B é a correta.
  • Lembrando também que o TRUNCATE zera os índices da tabela, diferente de utilizar DELETE FROM sem WHERE.
  • Diferença entre os comandos

    http://beginner-sql-tutorial.com/pt/sql-delete-statement.htm


  • Alguém por favor poderia explicar o uso do DROP nessa questão?  Achava que comandos DDL não eram permitidos em PL/SQL... 

  • O que faz essa questão entrar em Oracle? Alguém poderia informar?

  • O Oracle utiliza o PL/SQL.

    O comando Drop é sim utilizado como um comando DDL no Oracle. Se quiser pode dar uma olhada aqui: http://certificacaobd.com.br/2012/12/26/oracle-1z0-051-topico-10-usando-clausulas-ddl-para-criar-e-gerenciar-tabelas/

    Valeus! 

  • Lembrando que o truncate não dispara triggers convencionais, mas apenas triggers especiais.


    Fonte: https://www.toadworld.com/platforms/oracle/w/wiki/2237.truncate-trigger

  •  

    As diferenças entre TRUNCATE e DELETE:

    1 – TRUNCATE é um comando DDL enquanto DELETE é um comando DML.

    2 – TRUNCATE é muito mais rápido do que o DELETE.

    Motivo: Quando você digita DELETE todos os dados a serem excluídos são copiados primeiro para  Tablespace de UNDO.

    3 – Não existe Rollback para o comando TRUNCATE mas para o DELETE sim. O comando TRUNCATE remove o registro permanente.

    4 – Em caso de TRUNCATE, A TRIGGER não é disparada, mas no caso do comando DELETE, existindo TRIGGER para deleção a mesma é disparada.

    5 – Você não pode usar condições (cláusula WHERE) com o comando TRUNCATE. Mas com o comando DELETE, você pode escrever usando condições (cláusula WHERE).

    Fonte:https://sergioleitaodba.wordpress.com/2014/10/20/sql-diferenca-entre-os-comandos-truncate-delete-e-drop/

  • b-

    Se preferir apagar todas linhas da tabela, usa truncate table nometabela e commit. Mais eficiente do que usar delete linha por linha