[firebase-br] Stored procedure que retorna o ID após inserir

Marcelo Guilherme Tamanini marcelo_tamanini em hotmail.com
Seg Fev 9 18:05:08 -03 2009



Olá, pessoal.

Mais uma dúvida sobre stored procedure.

Eu tenho a seguinte stored procedure para inserção de dados em sql server:

...
AS
    SET NOCOUNT ON
    
    -- Tenta inserir um equipamento
    BEGIN TRY
        BEGIN TRANSACTION
    
        INSERT INTO TB_Aparelho (NumeroSerie, DataColeta, Descricao)
        VALUES (@NumeroSerie, @DataColeta, @Descricao);
    
        -- Retorna o último CodAparelho
        SELECT @@IDENTITY FROM TB_Aparelho;
        
        COMMIT TRANSACTION
    END TRY
    BEGIN CATCH 
        ROLLBACK TRANSACTION
        
        -- retorna o erro, caso já exista o equipamento
        SELECT -ERROR_NUMBER();
    END CATCH


Em firebird, como ficaria o begin commit e rollback transaction no firebird?
Além disso, como seria a sintaxe para retornar o ID do último registro?
E por fim, retornar um exceção caso o registro já esteja cadastrado?

_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us


Mais detalhes sobre a lista de discussão lista