Insert e Update utilizando variável ROWTYPE
Bom dia Sérgio, tudo bem ?
Como faço para fazer um update em uma tabela, utilizando uma variável ROWTYPE preenchida ?
Obrigado
Antônio
Camarada, fazer um update utilizando ROWTYPE é bem simples. Então vamos aos exemplos práticos.
Vamos criar a nossa tabela TESTE.
CREATE TABLE teste ( codigo NUMBER ,descricao VARCHAR2(1000) ) /
Agora vamos criar o nosso código para exemplificar a utilização do UPDATE e de brinde, também mostrar como utilizar o INSERT.
DECLARE v_row teste%ROWTYPE; BEGIN -- Preenchendo os campos v_row.codigo := 1; v_row.descricao := 'TESTE 1'; -- Inserindo os dados INSERT INTO teste VALUES v_row; -- Alterando o valor do campo v_row.descricao := 'TESTE - 1'; -- Atualizando os dados UPDATE teste SET row = v_row WHERE codigo = 1; COMMIT; EXCEPTION WHEN others THEN DBMS_OUTPUT.put_line('Erro: ' || DBMS_UTILITY.format_error_stack); END;
Observe no código que preencho as informações na variável ROWTYPE, faço o INSERT, altero o valor da descrição e faço um UPDATE. Vamos ver o resultado:
SELECT * FROM teste / CODIGO DESCRICAO ------ --------------- 1 TESTE - 1
Bom, é isso ! Espero ter ajudado !

Formado em Gestão em Tecnologia da Informação, com sólidos conhecimentos em SQL, PL/SQL, Oracle Forms, Reports e E-Business Suite (AP,AR e GL).
Foi durante 3 anos gerente de tecnologia de grande empresa do setor de saúde, e atualmente atua como Analista de Sistema Sênior na Scania Latin America e também como Diretor-fundador do GPO (Grupo de Profissionais Oracle).