Arkangel Posted June 25, 2008 at 11:59 AM Report Share #193436 Posted June 25, 2008 at 11:59 AM Boas pessoal. Estava aqui a resolver uns exercícios em sql, onde tenho de descobrir o(s) erro(s). Mas encalhei aqui num. Conseguem saber o que está mal neste código? DECLARE @Current_Month int SELECT @Current_Month = CURRENT_MONTH FROM RD_PROPERTIES IF @@ERROR<>0 Begin EXEC SP_LOG_ERROR @@ERROR, 'Error while getting the CURRENT_MONTH' GOTO EndProc End RETURN (0) EndProc: RETURN (-1) Obrigado 😉. Link to comment Share on other sites More sharing options...
TheDark Posted June 25, 2008 at 02:15 PM Report Share #193479 Posted June 25, 2008 at 02:15 PM Assim à 1ª vista, isso não está dentro de uma função/stored procedure... Desaparecido. Link to comment Share on other sites More sharing options...
José Lopes Posted June 25, 2008 at 02:39 PM Report Share #193491 Posted June 25, 2008 at 02:39 PM toda programação que faço em sql é PLSQL...mas à primeira vista...esse if não devia ter que estar fechado? Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!! Link to comment Share on other sites More sharing options...
Arkangel Posted June 25, 2008 at 08:43 PM Author Report Share #193536 Posted June 25, 2008 at 08:43 PM Está complicado... isto é suposto correr em sql server 2000. Será que o @@error perde o valor após o EndProc a seguir ao primeiro Return? Link to comment Share on other sites More sharing options...
José Lopes Posted June 25, 2008 at 08:53 PM Report Share #193537 Posted June 25, 2008 at 08:53 PM A lógica..parece-me devia ser... Se ele encontrar erro...retornar X Caso contrário retornar Y... Parece-me que deveria ser essa a lógica da função... Mas tal como referi anteriormente o plsql tem muitas diferenças... e não percebo sequer nada do tratamento de erros do SQL Server.. Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!! Link to comment Share on other sites More sharing options...
Arkangel Posted June 26, 2008 at 01:41 AM Author Report Share #193577 Posted June 26, 2008 at 01:41 AM Ainda n tive oportunidade de testar isto no sql server 2000 pq n tive tempo, mas se @@error for diferente de zero, vai executar akilo k está dentro e passar para o endproc. Isso significaria que iria retornar 0... e 1. já k se for diferente de 0, retorna 0 pq n está dentro da clausula else... mas tb retorna 1 por causa da execução dentro do begin k dps apontará para o endproc. Se calhar é este o erro... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now