Fundamentos do INSERT, UPDATE e DELETE no Oracle 12c

Para adicionar linhas a sua base de dados 12c Oracle, você usa a instrução INSERT. Uma instrução INSERT age sobre uma mesa ao mesmo tempo. A instrução INSERT tem três cláusulas, das quais uma é opcional:

  • cláusula de Inserção

  • cláusula de coluna (opcional)

  • cláusula VALUES

Veja como você iria inserir uma nova linha na tabela de postos de trabalho:

  1. Para o INSERT cláusula, tipo

    e pressione Enter.

  2. Para as colunas cláusula, tipo

    lt; (job_id, job_title)>

    e pressione Enter.

  3. Para os valores cláusula, tipo

    e pressione Enter.

    Entende

    SQL> INSERT INTO jobs2 (job_id, job_title) 3 VALUES ( 'TRN_MGR', 'Training Manager') - 1 linha criada.

    Depois de adicionar uma linha para a sua mesa, os resultados aparecem da seguinte forma:

    SQL> SELECT * 2 DE jobs3 ONDE job_id = 'TRN_MGR'-JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ---------------------- ------------- ---------- ---------- TRN_MGR gerente de treinamento

    As colunas salariais estão vazios.

aspas simples ( '@@') deve ser usado ao redor dos campos de caracteres. Qualquer coisa que contém caracteres (como a, b, ou c) precisa ter aspas simples em torno dele se você está falando de dados. Os campos numéricos podem ser deixados sem as aspas.

Como alterar os dados com a instrução UPDATE no Oracle 12c

Se você tiver dados que você deseja modificar, use a instrução UPDATE. A instrução UPDATE age sobre colunas. Aqui estão as cláusulas da declaração UDPATE:

  • cláusula FOR UPDATE

  • cláusula SET

  • cláusula WHERE

Os dois primeiros cláusulas são necessários. Tecnicamente, a última cláusula é opcional embora altamente recomendado.

Se vocês # 147 esqueceu # 148- a informação de salário em nossa declaração de INSERT, aqui está como corrigi-lo com uma instrução UPDATE:

  1. Digitar

    e pressione Enter.

  2. Digitar

    e pressione Enter.

  3. Digitar

    e pressione Enter.

    Entende

    SQL> Atualização jobs2 SET min_salary = 10000, max_salary = 200003 ONDE job_id = 'TRN_MGR'-1 linha atualizada.

    E os resultados são

    SQL> SELECT * 2 DE jobs3 ONDE job_id = 'TRN_MGR'-JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- ---------------------- ------------- ---------- ---------- TRN_MGR gerente de treinamento 10000 20000

Sempre considere usar uma cláusula WHERE em uma instrução UPDATE, ou então você atualizar todas as linhas.

Use a cláusula WHERE com a sua declaração UDPATE para formar uma instrução SELECT. Dessa forma, você pode verificar se a sua cláusula WHERE está agindo sobre os dados corretos antes de executar a atualização. (Isso também se aplicaria a uma instrução DELETE.)

Se você gosta do que vê, você tem que fazer as alterações permanentes. Escreva e pressione Enter.

Entende:

SQL> comprometer-Commit completa.

E, as alterações não podem ser facilmente desfeita.

Como remover dados com a instrução DELETE no Oracle 12c

A última declaração DML tipo de falar é a instrução DELETE. A instrução DELETE permite remover linhas de tabelas. APAGAR age sobre uma mesa ao mesmo tempo. Você também deve considerar cuidadosamente, utilizando uma cláusula WHERE com a instrução DELETE, ou então todas as suas linhas serão removidas.

A instrução DELETE tem duas cláusulas:

  • APAGAR cláusula

  • cláusula WHERE

Veja como remover os últimos linhas que você acabou de adicionar à base de dados para o job_id TRN_MGR:

  1. Digitar

    e pressione Enter.

  2. Digitar

    e pressione Enter.

    Entende

    SQL> DELETE FROM jobs2 ONDE job_id = 'TRN_MGR'-1 linha excluída.

    E os resultados aparecem da seguinte maneira:

    SQL> SELECT * 2 DE jobs3 ONDE job_id = 'TRN_MGR'-nenhuma linha selecionada

Já não há quaisquer linhas na tabela para o TRN_MGR job_id. Adicionalmente, todas as colunas foram removidos. Para remover apenas um dos valores, use uma instrução UPDATE e definir a coluna para esvaziar (null). APAGAR sempre age em todas columns- ele remove linhas.

Ops! Você não quis excluir a linha TRN_MGR! Felizmente, você não cometeu nossa mudança ainda. Você pode facilmente desfazer essa alteração com uma declaração ROLLBACK:

SQL> ROLLBACK-Reversão complete.SQL> SELECT * 2 DE jobs3 ONDE job_id = 'TRN_MGR'-JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- --------------- -------------------- ---------- ---------- TRN_MGR gerente de treinamento 10000 20000

Contanto que você não tenha emitido um COMMIT em sua sessão, você pode reverter qualquer alteração no último COMMIT dentro de sua sessão. Além disso, até que se comprometer seus dados, mais ninguém no banco de dados pode vê-lo.

Deixando un-comprometido de dados por longos períodos de tempo pode causar bloqueio problemas em seu banco de dados. Os dados que foram alterados e não cometeu mantém um bloqueio na linha (s) em questão. Você deve confirmar as alterações o mais rapidamente possível.

menu