sql >> Database >  >> RDS >> Mysql

MySQL-procedure binnen een Select?

De procedure Ticket_FiscalTotals retourneert een gegevensset met enkele velden, maar u hebt er maar één nodig - Service . Herschrijf uw procedure naar de opgeslagen functie - Get_Ticket_FiscalTotals_Service .

Een andere manier is om een ​​tijdelijke tabel in de procedure aan te maken en te vullen, en deze tijdelijk toe te voegen aan een query, bijvoorbeeld:

DELIMITER $$

CREATE PROCEDURE Ticket_FiscalTotals()
BEGIN
  DROP TEMPORARY TABLE IF EXISTS temp1;
  CREATE TEMPORARY TABLE temp1(
    Service FLOAT(10.2),
    Items FLOAT(10.2),
    SalesTax FLOAT(10.2),
    eTaxAmount FLOAT(10.2),
    GrandTotal FLOAT(10.2)
  );
  INSERT INTO temp1 VALUES (75.0, 325.0, 25.19, 8.0, 433.19);
END
$$

DELIMITER ;

-- Usage
CALL Ticket_FiscalTotals();
SELECT t.*, tmp.service FROM Ticket t, temp1 tmp;


  1. PG COPY-fout:ongeldige invoersyntaxis voor geheel getal

  2. MySQL 5.7.5+ krijgt de eerste rij voor de groepen

  3. Hoe code veilig in de mySQL-database in te voegen

  4. Hoe krijg ik de nieuwe hardloopbalans van de bestaande balans?