Stored Procedure Estranha

11/03/2009

0

Boa noite pessoal.
Estou iniciando com Oracle e tive uma dúvida em uma stored procedure de inserção.
Ela deveria fazer o seguinte: Verificar a existencia de registros, caso nao houvesse ela iria inserir um novo registro. Mas quando executo ela, ela faz o select e vai direto p. exception. Alguém poderia me ajudar ? Obrigado.
Segue a SP.

CREATE OR REPLACE
Procedure ´ASS_USR_EMP_IU´(
nFK_USUARIOS IN VRG.ASS_USR_EMP.FK_USUARIOS ¬TYPE,
nFK_EMPRESAS IN VRG.ASS_USR_EMP.FK_EMPRESAS ¬TYPE
)
IS
EMPRESAS VRG.ASS_USR_EMP.FK_EMPRESAS ¬TYPE;
BEGIN
SELECT ASS_USR_EMP.FK_EMPRESAS
INTO empresas
FROM ASS_USR_EMP
WHERE ASS_USR_EMP.FK_EMPRESAS = nFK_EMPRESAS AND
ASS_USR_EMP.FK_USUARIOS = nFK_USUARIOS;

IF SQL¬ROWCOUNT = 0 THEN
INSERT INTO ass_usr_emp (
fk_empresas,
fk_usuarios
) VALUES (
nfk_empresas,
nfk_usuarios);
END IF;

EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20001,SQLERRM, TRUE);

END ASS_USR_EMP_IU;


Torgge

Torgge

Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar