GARANTIR DESCONTO

Fórum Stored Procedure #40554

03/12/2003

0

Olá caros amigos. Será que alguém pode me ajudar. Estou criando uma stored procedure no Interbase e está dando um erro que não consigo achar. O erro é no ´VarErro´. Esta procedure tem que selecionar alguns registros e verificar a nota do aluno se ele está aprovado e se está reprovado. Como este select que está na procedure irá retornar mais que um registro não estou conseguindo criar uma maneira de ler um por um dos registros e verificar as notas do aluno vendo se ele está aprovado ou reprovado. O código é o seguinte. Agradeço se alguém puder ajudar.

Set Term @
Create Procedure ChecarNota(par_CTR Integer)
Returns (VarErro VarChar(10))
As
Declare Variable VarNotaTeo Integer;
Declare Variable VarNotaPra Integer;

Begin
VarErro = ´Aprovado´;
Select NotaPra, NotaTeo From Notas
Where CTR = :par_CTR into :VarNotaPra, :VarNotaTeo ;
If (VarNotaTeo < 7 or VarNotaPra <7) Then
Begin
VarErro = ´Reprovado´;
End
Return VarErro;
End @


Ricardo Barbosa

Ricardo Barbosa

Responder

Posts

03/12/2003

Buosinet

Voce tem que colocar := na atribuição, exemplo:

VarErro := Aprovado;

Boa Sorte
Buosi.


Responder

Gostei + 0

03/12/2003

Afarias

na verdade Buosinet vc está confundindo este operador de atribuição com o do Delphi. no IB, este operador de atribuição é apenas ´=´ mesmo!

bom, mas vamos ao problema...

considerando q a linha:

Set Term @

tem um ponto-e-vírgula (;) no final e q vc somente esqueceu de postar, o erro está na linha (note q, postar a mensagem de erro original sempre ajuda a detectar mais facilmente e corretamente o problema -- da próxima vez não esqueça)::

Return VarErro;


é onde deve estar seu erro, este comando ´Return´ não existe!

vc deve colocar ai um EXIT ou simplesmente nada... (considerando que este é um procedimento ´executável´ (retorna apenas 1 valor) e não ´selecionável´


T+


Responder

Gostei + 0

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

Aceitar