Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Procedura składowana MySQL Alter

Czasami może zajść potrzeba edycji procedury składowanej lub zmiany procedury składowanej w MySQL. Oto jak edytować procedurę składowaną za pomocą instrukcji MySQL ALTER PROCEDURE.

Procedura zapisana w MySQL Alter

Oto kroki, aby zmienić procedurę składowaną w MySQL za pomocą instrukcji ALTER PROCEDURE.

Załóżmy, że w MySQL masz następującą procedurę składowaną.

mysql> DELIMITER //
       CREATE PROCEDURE get_orders()
       BEGIN
       SELECT *  FROM orders;
       END //

      DELIMITER ;

mysql> call get_orders;
+----+------------+--------+----------+
| id | order_date | amount | sequence |
+----+------------+--------+----------+
|  1 | 2020-08-01 |    250 |        1 |
|  2 | 2020-08-02 |    125 |        4 |
|  3 | 2020-08-03 |    300 |        9 |
+----+------------+--------+----------+

Przeczytaj dodatkowe:Lista wszystkich procedur MySQL

Jak edytować procedurę składowaną w wierszu poleceń MySQL

Chociaż MySQL udostępnia instrukcję ALTER PROCEDURE, nie pozwala na zmianę treści ani parametrów procedury składowanej. Pozwala tylko zmienić charakterystykę procedury składowanej

Oto składnia ALTER PROCEDURE

ALTER PROCEDURE proc_name [characteristic ...]

characteristic: {
    COMMENT 'string'
  | LANGUAGE SQL
  | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
  | SQL SECURITY { DEFINER | INVOKER }
}

Oto przykład dodawania komentarza za pomocą zapytania ALTER PROCEDURE.

ALTER PROCEDURE get_orders
COMMENT 'test comment';

Przeczytaj bonus:hasło root resetowania MySQL

Jeśli jednak chcesz zmienić zapytanie, treść lub parametry procedury składowanej w wierszu poleceń MySQL, musisz DROP PROCEDURE, a następnie CREATE PROCEDURE z nową definicją. Oto przykład aktualizacji zapytania procedury składowanej get_orders zdefiniowanej powyżej.

mysql> drop procedure get_orders;

mysql> DELIMITER //
          CREATE PROCEDURE get_orders()
            BEGIN
            SELECT order_date, amount  FROM orders;
            END //
       DELIMITER ;

mysql> call get_orders;
+------------+--------+
| order_date | amount |
+------------+--------+
| 2020-08-01 |    250 |
| 2020-08-02 |    125 |
| 2020-08-03 |    300 |
+------------+--------+

Mam nadzieję, że teraz możesz zmienić procedurę składowaną w MySQL.

Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak rozwiązać niejednoznaczne nazwy kolumn podczas pobierania wyników?

  2. Zakoduj swój pierwszy interfejs API za pomocą Node.js i Express:połącz bazę danych

  3. Darmowy hosting z obsługą PHP

  4. Konfiguracje wielu centrów danych przy użyciu klastra Galera dla MySQL lub MariaDB

  5. MAKEDATE() Przykłady – MySQL