Translate

sábado, 22 de fevereiro de 2014

INSERT, UPDATE, DELETE

Usados para operaçõs DML (Data Manipulation Language), incluir novos registros, modificar registros existentes e remover registros, respectivamente.

insert into employees(EMPLOYEE_ID    
                     ,FIRST_NAME     
                     ,LAST_NAME      
                     ,EMAIL          
                     ,PHONE_NUMBER   
                     ,HIRE_DATE      
                     ,JOB_ID         
                     ,SALARY         
                     ,COMMISSION_PCT 
                     ,MANAGER_ID     
                     ,DEPARTMENT_ID)
                     values
                     ((select max(employee_id + 1)
                       from employees)   
                     ,'Marcio'     
                     ,'Correia'      
                     ,'marcio.correia@xxxx.com'
                     ,11999990000   
                     ,sysdate
                     ,'IT_PROG'         
                     ,'1000'         
                     ,null 
                     ,103     
                     ,60);

Obs: Para a coluna employee_id está sendo utilizada a função max e buscando na própria tabela o maior código existente e somando o valor 1, criando assim o novo código de funcionário.

Para a coluna hire_date (data de contratação) está sendo informado o valor sysdate, que é o valor da data corrente do banco de dados.
----------------------------------------------------------------------------------------------------------------------------------

insert into employees values
                     ((select max(employee_id + 1)
                       from employees)   
                     ,'Joao'     
                     ,'Silva'      
                     ,'joao.silva@xxxx.com'
                     ,11999990000   
                     ,sysdate
                     ,'IT_PROG'         
                     ,'1000'         
                     ,null 
                     ,103     

                     ,60);

É possivel também realizar o insert sem informar o nome das colunas, ou seja, simplesmente informando os valores que serão inseridos, porém severão ser informados os valores de todas as colunas existentes na tabela, caso contrário será retornado o erro:
Erro de SQL: ORA-00947: não há valores suficientes

00947. 00000 -  "not enough values"
----------------------------------------------------------------------------------------------------------------------------------

update employees
set    department_id = 90
where  employee_id   = 207;

Neste comando o funcionário de código 207 está tendo seu departamento alterado para 90.
----------------------------------------------------------------------------------------------------------------------------------

delete employees
where  employee_id = 208;

Neste comando o funcionário de código 208 está sendo removido da base de dados.
----------------------------------------------------------------------------------------------------------------------------------

Obs: Nos comandos update e delete deve-se tomar muito cuidado com a cláusula where, informando corretamente o que deverá ser alterado/removido, caso não seja informada a cláusula where todas as linhas da tabela sofrerão a ação solicitada.

Nenhum comentário:

Postar um comentário