Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL Mengubah Prosedur Tersimpan

Terkadang Anda mungkin perlu mengedit prosedur tersimpan atau mengubah prosedur tersimpan di MySQL. Berikut cara mengedit prosedur tersimpan menggunakan pernyataan MySQL ALTER PROCEDURE.

Prosedur Perubahan MySQL Tersimpan

Berikut adalah langkah-langkah untuk mengubah stored procedure di MySQL menggunakan statement ALTER PROCEDURE.

Katakanlah Anda memiliki prosedur tersimpan berikut di MySQL.

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 |
+----+------------+--------+----------+

Bonus Baca :Daftar MySQL Semua Prosedur

Cara Mengedit Prosedur Tersimpan di Baris Perintah MySQL

Meskipun MySQL menyediakan pernyataan ALTER PROCEDURE, itu tidak memungkinkan Anda untuk mengubah tubuh atau parameter prosedur tersimpan. Ini hanya memungkinkan Anda untuk mengubah karakteristik prosedur tersimpan

Berikut sintaks 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 }
}

Berikut ini contoh untuk menambahkan komentar menggunakan kueri ALTER PROCEDURE.

ALTER PROCEDURE get_orders
COMMENT 'test comment';

Bonus Baca :MySQL Reset Root Password

Namun, jika Anda ingin mengubah kueri, isi, atau parameter prosedur tersimpan di baris perintah MySQL, maka Anda perlu DROP PROCEDURE dan kemudian CREATE PROCEDURE dengan definisi baru. Berikut adalah contoh untuk memperbarui kueri prosedur tersimpan get_orders yang ditentukan di atas.

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 |
+------------+--------+

Mudah-mudahan, sekarang Anda dapat mengubah prosedur tersimpan di MySQL.

Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Alternatif Meja Kerja MySQL Teratas

  2. MySQL menghapus catatan duplikat tetapi tetap terbaru

  3. MySQL Query - Catatan antara Hari Ini dan 30 Hari Terakhir

  4. PILIH kueri mengembalikan 1 baris dari setiap grup

  5. SQL SELECT untuk mendapatkan N bilangan bulat positif pertama