Ir para conteúdo
Fórum Script Brasil

Matheus Peluchi

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Posts postados por Matheus Peluchi

  1. Bom dia pessoal,

    Andei dando uma pesquisada e não encontrei um exemplo como queria.
    Hoje tenho um banco de dados Firebird, e estou trocando para MySQL. Estou programando em delphi e uso componentes da paleta DBX, Gostaria de entender as diferenças entre a sintaxe de a procedure MySQL e a Firebird. Como exemplo trouxe uma Store Proedure da minha base firebird e gostaria de saber como ficaria a mesma procedure em Mysql. Dessa forma vou consegui entender melhor as diferenças.

    Essa procedure seleciona os items da tabela Itensentrada, onde o Numero da entrada é a que eu passo pelo parametro  RCODENTRADa, e atualiza o estoque alimentando também uma outra tabela de  histórico de produtos e clientes.

     

    Não sei exatamente se no MySQL consigo fazer isso. Imagino que sim pois as linguagens são bem semelhantes...mas não acho a sintaxe correta para montar a Store Procedure.

     

    CREATE PROCEDURE ATUALIZA_ESTOQUE_ENTRADA (
        RCODENTRADA INTEGER)
    AS
    declare variable VCODENTRADA integer;
    declare variable VCODCLIENTE integer;
    declare variable VCODOBRA integer;
    declare variable VCODPROD integer;
    declare variable VQTDE float;
    declare variable VVRUNITARIO numeric(15,2);
    declare variable VTIPO char(1);
    declare variable VSTATUS varchar(20);
    begin
     
        FOR SELECT I.codentrada, I.codobra, I.codproduto, I.quantidade, I.vrunitario
        FROM ITENSENTRADA I
        WHERE I.codentrada = :rcodentrada
        INTO :vcodentrada, :vcodobra, :vcodprod, :vqtde, :vvrunitario do
     
        BEGIN
            vtipo = 'E';
     
            SELECT E.codcliente, e.status
            FROM ENTRADA e
            WHERE E.codentrada = :rcodentrada
            INTO :vcodcliente, :vstatus;
     
            if (:vstatus = 'ABERTA' or :vstatus = 'FINALIZADA') then exit;
            else
            begin
              UPDATE entrada e
              SET e.status = 'FINALIZADA'
              WHERE E.codentrada = :rcodentrada;
     
              UPDATE PRODUTO P SET
              P.estoque = P.estoque + :vqtde,
              P.vrunitario = :vvrunitario
              WHERE P.codproduto = :vcodprod;
     
     
              INSERT INTO HISTORICOCLIENTES(CODMOV, CODCLIENTE, CODPRODUTO, QTDE, CODOBRA, TIPO) VALUES (:vcodentrada, :vcodcliente, :vcodprod, :vqtde, :vcodobra, :vtipo);
              INSERT INTO HISTORICOPRODUTO (CODMOV, CODOBRA, CODCLIENTE, CODPROD, QTDE, VALOR, TIPO) VALUES (:vcodentrada, :vcodobra, :vcodcliente, :vcodprod, :vqtde, :vvrunitario, :vtipo);
             end
     
        END
    END

     

  2. Bom dia Pessoal,

    Estou começando agora no PHP não entendo praticamente nada.

    A minha dificuldade é...estou tentando cirar um sistema de login...bem simples...

    Tem a index onde o cara digita a senha e manda entrar.

    ai vem a parte do script de login

    o que eu não consigo é trabalhar com a validação da consulta sql.

    tenho uma variavel $chkuser onde ela faz a consulta SQL e dai pra frente não sei como obter o retorno da consulta pois ela não retorna um valor logico.

    na minha cabeça a logica é assim se a consulta for verdadeira vai pra frente se não for volta no login. o problema é como obeter o valor "true" vamos dizer assim pra dar sequencia no script

     

    Um exemplo de como estou tentando.

     

    <?php
    include ('conectabd.php');
    $login = $_POST ['usuario'];
    $senha = $_POST ['senha'];
    $chkuser = mysql_query ("SELECT * FROM usuarios WHERE usuario = '$login' AND senha = '$senha'") or die ("Erro ao selecionar usuario.");

    if $chkuser = false;
    {echo"<script language='javascript' type='text/javascript'>alert('Login e/ou senha incorretos');window.location.href='login.html';</script>";
         die();
    }
    else
    {
    header ("localtion:home.php")     
    }
    ?>

     

    ===============================================================

    AVISO: Suas duvidas devem ser postadas no forum Principal ( PHP )

     

×
×
  • Criar Novo...