sql >> Databasteknik >  >> RDS >> Mysql

Hur infogar/skapar man lagrade procedurer i mySQL från PHP?

Jag har inte testat, men jag kommer inte bli förvånad över mysqli_multi_query() förväntar sig att ha samma avgränsare för varje fråga. Försök att packa skapandet av lagrad procedur i en enda fråga, utan att använda DELIMITER-modifieraren ?

Så istället för

<?php
$results = mysqli_multi(
    'DELIMITER $$
    USE `dbname`$$
    CREATE PROCEDURE `procname`(IN inputparameters)
    BEGIN
    ... procedure goes here

    ;
    END$$
    DELIMITER ;
');
?>

Gör bara detta

<?php
$result = mysqli_query('CREATE PROCEDURE `procname`(IN inputparameters) BEGIN ...; END');

Och berätta om det fungerar :)



  1. Hur man väljer kapslad JSON i SQL Server med OPENJSON

  2. Icke försumbar skillnad i exekveringsplan med Oracle vid användning av jdbc Timestamp eller Date

  3. hur man släpper databasen

  4. Hur hittar jag tid för exekvering av frågor i Oracle SQL Developer?