[bysheep] :: stored procedure para mysql

Esta stored procedure foi feita para verificar e depois cadastrar informação em um banco mysql

DELIMITER $$

CREATE DEFINER=`sh7tv`@`%` PROCEDURE `spRua`(

   IN     inRua varchar(50),
             inBairro varchar(50),
             inCidade varchar(50),
             inEstado varchar(50),
             inCEP varchar(50),
    OUT outResposta varchar(50)
)
BEGIN
    — concatena o select para saber se já existe o valor no banco
    — com o primeiro campo da tabela
    SET @aux = CONCAT(‘SELECT ‘,inCEP,’ INTO @verifica FROM mpRua WHERE cep = ‘,inCEP);
            — prepara o comando
            PREPARE stmt FROM @aux;   
            — executa o comando
            EXECUTE stmt;
               — se não existir
               IF (@verifica IS NULL) THEN
                — cria uma variável para concatenar o insert
                SET @Inserir = CONCAT(‘INSERT INTO mpRua (rua,bairro,cidade,estado,cep) VALUES (‘, inRua,’, ‘, inBairro,’, ‘, inCidade,’, ‘, inEstado,’, ‘, inCEP, ‘)’); 
                — prepara o comando
                PREPARE stmtIn FROM @Inserir; 
                — executa o comando
                EXECUTE stmtIn;
                — libera a memória
                DEALLOCATE PREPARE stmtIn;
                — retorna um valor
                SET outResposta = ‘dados da rua cadastrados com sucesso’;
                — se existir
                ELSE
                    SET
outResposta = ‘já existe esta rua cadastrada ‘;
            END IF;
    SELECT
outResposta;
END

 

a chamada da procedure usando um objeto feito em asp….

 

‘*********************************************************************
        ‘ métodos PRIVATE BANCO
‘*********************************************************************
        ‘ método PRIVATE para abrir o banco
        PRIVATE sub banco()
            Set cn = Server.CreateObject(“ADODB.Connection”)
               cn.Open(“dsn=—–“)
               Set cmd = Server.CreateObject(“ADODB.Command”)
               Set cmd.ActiveConnection = cn
        end sub
‘*********************************************************************
        ‘ métodos PRIVATE INSERT
‘*********************************************************************
        ‘ método PRIVATE para inserir
        PRIVATE sub inserir()
            ‘ chama o método abrir da classe banco passando o caminho e o banco
            cmd.CommandText = “call spRua(” & strRua & “,” & strBairro & “,” & strCidade & “,” & strEstado & “,” & strCEP & “, @outResposta)”
            set rsCadastrar = cmd.execute()
            strResposta = rsCadastrar(0)
        ‘ fim inserir
        end sub

 

a chamada do objeto feita na página

 

‘ cria uma variável do tipo objeto
        set varRua = new clRua
        ‘ chama o método passando os parâmetros
        call varRua.clRua(“”'” & request.form(“rua”) & “”'”, “”'” & request.form(“bairro”) & “”'”,””'” & request.form(“cidade”) & “”'”,””'” & request.form(“estado”) & “”'”,””'” & request.form(“cep”) & “”'”, “I”)
        ‘ mmostra o que aconteceu
        response.write(varRua.resposta)

 

até o próximo post

Comentários encerrados.