sql >> Database >  >> Database Tools >> phpMyAdmin

Moeite met het schrijven van Opgeslagen Procedure in MYSQL

Zoals gedocumenteerd onder Opgeslagen programma's definiëren :

  • Als u de mysql gebruikt clientprogramma om een ​​opgeslagen programma te definiëren dat puntkomma's bevat, doet zich een probleem voor. Standaard, mysql herkent zelf de puntkomma als scheidingsteken voor een statement, dus u moet het scheidingsteken tijdelijk opnieuw definiëren om mysql te veroorzaken om de volledige opgeslagen programmadefinitie door te geven aan de server.

    Hetzelfde geldt voor phpMyAdmin.

  • De mysql opnieuw definiëren scheidingsteken, gebruik het scheidingsteken commando.

    Niet alle versies van phpMyAdmin herkennen het delimiter opdracht; in plaats daarvan kan men het scheidingsteken . gebruiken invoervak ​​onder het SQL-invoervak:zie Hoe schrijf ik een SP in phpMyAdmin (MySQL)?

  • Het volgende is een voorbeeld van een functie die een parameter nodig heeft, een bewerking uitvoert met een SQL-functie en het resultaat retourneert. In dit geval is het niet nodig om delimiter . te gebruiken omdat de functiedefinitie geen interne bevat; scheidingstekens voor uitspraken:

    mysql> CREATE FUNCTION hello (s CHAR(20))
    mysql> RETURNS CHAR(50) DETERMINISTIC
        -> RETURN CONCAT('Hello, ',s,'!');
    Query OK, 0 rows affected (0.00 sec)
    

    In jouw geval kun je de BEGIN ... END samengesteld instructieblok en vermijd de noodzaak om het scheidingsteken te wijzigen.




  1. MySQL Query werkt in PhpMyAdmin maar niet in JAVA Eclipse

  2. SQL Server Management Studio:prompt voor gebruikersinvoer

  3. SQL-opdracht Databasediagrammen toevoegen

  4. SQL-syntaxisfout in de buurt van gunzip bij het herstellen van een database met behulp van het .sql.gz-bestand