代码之家  ›  专栏  ›  技术社区  ›  Revers3

SQL查询到MySQL查询

  •  -1
  • Revers3  · 技术社区  · 7 年前

    我在youtube上看了一个视频教程,讲的是用c语言制作程序和使用数据库。我通过phpmyadmin(XAMPP是love)使用MySQL时,他正在使用SQL命令。

    create procedure datosfactura @NumFac int
    as
    select
    F.*, D.PrecioVen, D.CanVe, C.Nom_cli, A.Nom_pro, D.PrecioVen * D.CanVe as importe
    from
    Facturas F inner join Detalles D on F.NunFac = D.NumFac
    inner join Articula A on D.CodPro = A.id_pro
    inner join Cliente C on F.CodCli = C.id_clientes
    where F.NumFac = @NumFac
    

    我绞尽脑汁,尝试了不同的方法,但我能找出我做错了什么。

    2 回复  |  直到 7 年前
        1
  •  0
  •   Michał Turczyn    7 年前

    试试这个:

    delimiter //
    create procedure datosfactura(NumFac int)
    begin
        select F.*, 
               D.PrecioVen, 
               D.CanVe, 
               C.Nom_cli, 
               A.Nom_pro, 
               D.PrecioVen * D.CanVe as importe
        from Facturas F 
        inner join Detalles D on F.NunFac = D.NumFac
        inner join Articula A on D.CodPro = A.id_pro
        inner join Cliente C on F.CodCli = C.id_clientes
        where F.NumFac = NumFac;
    end//
    delimiter ;
    

    http://www.mysqltutorial.org/getting-started-with-mysql-stored-procedures.aspx

    https://dev.mysql.com/doc/refman/8.0/en/create-procedure.html

        2
  •  0
  •   parasit    7 年前

    可能是这样的(我现在没有访问mysql的权限)

    delimiter $$
    create function datosfactura(IN NumFac int)
    BEGIN
    select
    F.*, D.PrecioVen, D.CanVe, C.Nom_cli, A.Nom_pro, D.PrecioVen * D.CanVe as 
    importe
    from
    Facturas F inner join Detalles D on F.NunFac = D.NumFac
    inner join Articula A on D.CodPro = A.id_pro
    inner join Cliente C on F.CodCli = C.id_clientes
    where F.NumFac = NumFac
    end $$