Skip to main content

Modificar registros com DML

Objetivos de aprendizagem

Depois de concluir esta unidade, você vai:

  • Compreender como usar a Grade de consulta no Console do desenvolvedor para manipular diretamente os registros de dados.
  • Entender como usar DML para manter os dados no banco de dados.
  • Ser capaz de identificar duas formas de escrever comandos DML.

Gerenciar dados no Console do desenvolvedor

Até agora, vimos como usar o Console do desenvolvedor para consultar dados usando SOQL e SOSL. Mas talvez você não tenha reparado que o painel Query Results mostrado no Console do desenvolvedor não mostra apenas os resultados; ele também funciona como grade de consulta. É possível clicar na grade de resultados e usar os botões abaixo dela para inserir, atualizar ou excluir dados.

Vamos tentar fazer isso.

  1. No menu Setup (Configuração), selecione Developer Console.
  2. Clique em Query Editor (Editor de consulta).
  3. Exclua códigos existentes e insira a seguinte consulta:
    SELECT Id, Name, Industry FROM Account
  1. Clique em Executar.
    Os resultados da consulta mostram todas as contas da organização, junto com a contagem do total de linhas. Repare nesse valor.
  1. Clique em Insert Row.
    Uma nova linha é adicionada ao topo da grade.
  1. Clique duas vezes nessa nova linha para inserir um nome e um setor, mas deixe o valor de ID em branco.
  2. Clique em Save Rows.
    Observe que um valor é automaticamente exibido na coluna de ID. Lembre-se: a ID é a chave primária e esse valor é gerado pelo sistema. Repare também que o total de linhas exibido ainda é o valor original.
  1. Clique em Refresh Grid.
    Você percebeu que a contagem do total de linhas aumentou em um? Nada mal essa ferramenta, não é?

Como desenvolvedores, sabemos que às vezes você precisa gerenciar os dados rapidamente e queremos garantir que esse processo é o mais fácil possível. Imaginamos que ele seja bem melhor do que digitar um demonstrativo INSERT, UPDATE ou DELETE.

Também é possível usar os botões no canto inferior direito dos resultados da consulta para acessar os registros diretamente no Salesforce. Vá em frente e faça o teste.

O que é DML?

Como você já aprendeu na primeira unidade, o Salesforce usa SOQL para consultar dados, mas quando se trata de gerenciar os dados, ele usa DML.

Como desenvolvedor .NET, você usa principalmente o SQL para consultar e gerenciar os dados; então, pode parecer estranho usar outra linguagem. Mas você descobrirá que trabalhar com os comandos de DML no Salesforce é muito mais fácil do que usar os equivalentes em SQL.

Como o Salesforce está fortemente integrado, você pode ir direto ao ponto da manipulação de dados sem ter de se preocupar com o gerenciamento de uma fonte de dados. É por isso que é tão fácil trabalhar com o DML.

Demonstrativos DML

Confira a tabela abaixo para ver quais demonstrativos DML estão disponíveis. Alguns você provavelmente já conhece e o funcionamento deles é bem parecido com o que você esperaria. Para saber mais, consulte o Developer’s Guide.

Demonstrativo

Descrição

inserir

Insere um novo registro.

atualizar

Atualiza um registro existente.

inserir e atualizar

É uma operação especial que cria novos registros e atualiza os registros em uma única instrução. Essa operação usa um campo especificado para determinar a presença dos objetos existentes ou o campo de ID, caso nenhum campo seja especificado.

excluir

Exclui um registro existente.

cancelar exclusão

Restaura um ou mais dos registros existentes que estão na lixeira.

mesclar

É outra operação especial que pode mesclar até três registros que pertençam ao mesmo tipo de objeto em um desses registros. Depois disso, exclui os outros registros e reassocia quaisquer registros relacionados.

Duas formas de executar DML

No Apex, é possível executar instruções DML de duas formas.

  • Usando a própria instrução: você já viu esse método na unidade de SOSL em que inserimos dados de conta e contato. Esse é o método mais fácil. Caso você não se lembre, veja abaixo um trecho de código da unidade SOSL. Uma única conta foi inserida usando a instrução DML insert.
    // Add Account
    Account acct = new Account(
        Name='Test Account',
        Phone='(225)555-8989',
        NumberOfEmployees=10,
        BillingCity='Baton Rouge'
    );
    insert acct;

  • Usando os métodos de classe de banco de dados: a vantagem de usar o método de classe de banco de dados é que você tem acesso ao parâmetro opcional allOrNone para especificar se a operação pode ser parcialmente bem-sucedida. Quando esse parâmetro é definido como false, caso ocorra um erro num conjunto parcial de registros, os registros bem-sucedidos serão confirmados. Serão retornados erros referentes aos registros com falha. Além disso, com a opção de sucesso parcial, nenhuma exceção é gerada. Por exemplo, para criar uma Conta com o parâmetro allOrNone definido como false e retornar as informações de êxito ou falha em uma matriz, o resultado ficaria desta forma.
    // Add Account
    Account acct = new Account(
        Name='Test Account',
        Phone='(225)555-8989',
        NumberOfEmployees=10,
        BillingCity='Baton Rouge'
    );
    Database.SaveResult[] results = Database.insert(acct, false);

Quero saber mais

Por padrão, o parâmetro allOrNone é definido como true, o que significa que o método Database se comporta como seu equivalente em DML e gera uma exceção se uma falha é encontrada. Confira os documentos oficiais para saber mais.

Se quiser se tornar um astro do DML, curse o módulo Banco de dados e noções básicas do Apex. Ele contém mais informações sobre como inserir registros com sucesso parcial e como inserir registros relacionados.

Resources

Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback