Tratar consulta sql que não retorna linhas

Olá pessoal, eu estou precisando de ajuda.

Tenho um formulário para cadastrar um usuário em um determinado sistema (Ex: Financeiro, Serviços) com um determinado Papel (Ex. Gestor, Administrador) com duas Listas de seleção.
Na primeira eu seleciono o sistema.
Na segunda o Papel.

E cadastro no banco de dados. Até aí tudo bem.

O problema é, quando eu cadastro ele em um sistema, depois esse sistema não pode aparecer mais, pq o usuário já esta cadastrado nele.

Então se eu cadastrar ele em todos os sistemas, a consulta sql não retornará nenhuma linha, o que está corretamente certo.

Eu queria saber se existe alguma forma de tratar isso, por exemplo, quando a consulta não retornar linhas, ao invés de aparecer o formulário, aparecer uma mensagem
"A empresa não possuí mais sistemas para efetuar o cadastro".

Então eu preciso de uma forma para tratar a consulta quando não retornar nenhuma linha nas listas de seleção.

Obrigado Aí pessoal.
Aé lembrando que a linguagem é o Pl/sql

Se você tem uma tabela no banco que guarda o usuário e o sistema em que ele está cadastrado fica fácil. É só carregar a lista de seleção a partir de uma consulta que tenha uma WHERE USUARIO_CADASTRADO <> “NOVO USUARIO”

Valeu cara.
Mas será que não tem nenhuma função sql específica para quando a consulta não retornar linhas?

Muito obrigado.

Então, bacaninha… em um bloco PL/SQL, quando você busca linhas num select e tenta pôr o resultado numa variável e esse select não retorna nada… você cai numa exception: mais exatamente o NO_DATA_FOUND.

Então cara é isso mesmo que eu precisava, mas eu sou meio novo no pl/sql, se vc tiver só um exemplo de código com exception, irei ficar muito grato.

Mas mesmo assim eu vou pesquisar sobre o NO_DATA_FOUND

Obrigado Ademilton

Eis um exemplo típico do caso. Dá uma adaptada aí ao seu banco e pau neles!!

declare v_variavel varchar2(50);

begin

    select descricao
    into v_variavel
    from tabela
    where codigo = 50;

exception
    when NO_DATA_FOUND then
        dbms_output.put_line('nao retornou nada...');
end;

Apresento-te também um fórum específico de Oracle. Encontrarás muita coisa boa por lá também: http://glufke.net/oracle/

Muito obrigado mesmo, era disso mesmo que eu precisava.

Vaaleu cara.