none
Criando Stored Procedures RRS feed

  • Pergunta

  • Olá amigos, Bom dia !

     

    Estou atualmente trabalhando muito com SP para desenvolver sites.

     

    exemplo de como CADSTRO:

     

     

    CREATE PROCEDURE USUARIO_INCLUIR
     
     @UserName VARCHAR(256),
     @CPF   VARCHAR(11),
     @RoleName VARCHAR(255)
     
     
     
    AS

    DECLARE @price_rr int, @type_err int, @SqlValidar INT

    BEGIN TRAN

     begin
     
     IF NOT exists(SELECT cpf FROM usuario WHERE cpf = @CPF)
      
      begin
      
      INSERT INTO usuario (
          UserName,
          Cpf
         )
       VALUES
         (
          @UserName,
          @Cpf     
         )

     

       SET @SqlValidar = 1
      
      end


     SET @price_rr = @@ERROR
     end

    BEGIN
     IF @price_rr = 0
     
      BEGIN
     
       COMMIT TRANSACTION
       PRINT @SqlValidar

      END
     
     ELSE
      BEGIN
      
       ROLLBACK TRANSACTION
      
       PRINT @SqlValidar
      END
    END
    GO

     

     

     ---------------------------

     

    Este modo que uso funciona... Mias ta certo, tem como melhorar ?

    Porque aqui na empresa vamos começar a dividir certas coisas. tipo uma pessoa cria as SP e outra programa  a camada de acesso a banco e negocios do Site e outra implanta no Layout...

     

    Ae queria ver se este modo que uso ta certo ou tem algumas observações para melhorar !!!

     

    Obrigado pela atenção !

    quinta-feira, 31 de maio de 2007 11:25

Respostas

  • +- vc. deve declarar a variavel @price_rr  e iniciar ela com 0 a cada instrucao vc. deve somar 1

     

     select @price_rr  = @price_rr  + @@error

     

    e no final testar o valor da @price_rr  se for 0 commit

     

    a explicacao e que a cada instrucao sql o @@error e resetado entao por exemplo se tiver problemas no insert um simples set @valor = 1 vai retornar um @@error 0

     

    Abs;

    quinta-feira, 31 de maio de 2007 11:41