bom dia galera,
Podem me ajudar com uso de cursor?
Estou tentando fazer uma funçao no postgresql para alterar os valores de uma coluna da tabela, mas gostaria de usar um cursor para aprender a lidar com eles.
Tenho uma tabela de empregados que tem como pk empno e uma fk (na mesma tabela emp) é mgr.
Gostaria de alterar os valores da coluna mgr e para isso comecei a fazer a funçao.
[code]CREATE TABLE emp
(
empno int4 NOT NULL,
ename varchar(30) NOT NULL,
job varchar(30) NOT NULL,
deptno int4 NOT NULL,
mgr int4);
ALTER TABLE emp
ADD CONSTRAINT "PKemp" PRIMARY KEY(empno);[/code]
empno | ename | job | deptno | mgr |
-------±--------±----------±-------±-----+
7839 | KING | P | 10 | |
7698 | BLAKE | M | 30 | 7839 |
7900 | JAMES | CL | 30 | 7698 |
7990 | JOHNSON | S | 30 | 7698 |
7654 | MARTIN | S | 30 | 7698 |
7844 | TURNER | S | 30 | 7900 |
Gostaria de quando solicitar para alterar o diretor (coluna mgr) 7698 para 7900 … alterar todos os valores 7698 para 7900.
[code]CREATE OR REPLACE FUNCTION mudar_diretor(diretor_novo IN INTEGER , diretor_velho IN INTEGER)
RETURNS VOID
AS $$
DECLARE
modificar CURSOR IS SELECT * FROM emp WHERE mgr = diretor_velho;
BEGIN
UPDATE emp
SET mgr=diretor_novo;
END;
$$ LANGUAGE 'plpgsql';[/code]
ONde eu vou manipular o cursor dentro dessa funçao?
OBRIGADA,
veronica