MySQL - ALTER PROCEDURE 語句



MySQL ALTER PROCEDURE 語句

儲存過程是子程式,儲存在 SQL 目錄中的 SQL 語句段。所有可以訪問關係資料庫(Java、Python、PHP 等)的應用程式都可以訪問儲存過程。

儲存過程包含 IN 和 OUT 引數或兩者兼而有之。如果您使用 SELECT 語句,它們可能會返回結果集。儲存過程可以返回多個結果集。

您可以使用 ALTER PROCEDURE 語句更改過程的特性。

語法

以下是 ALTER PROCEDURE 語句的語法:-

ALTER PROCEDURE procedure_name COMMENT 'string', LANGUAGE SQL;

其中,procedure_name 是您需要更改的過程的名稱。

示例

假設我們已使用以下 CREATE 語句在資料庫中建立了一個名為 Employee 的表:-

CREATE TABLE Employee(Name VARCHAR(255),Salary INT,Location VARCHAR(255));

現在,讓我們使用以下查詢將一些記錄插入 Employee 表中:-

INSERT INTO Employee VALUES 
('Amit', 6554, 'Hyderabad'),
('Sumith', 5981, 'Vishakhapatnam'),
('Sudha', 7887, 'Vijayawada');

讓我們建立一個名為 myProcedure 的儲存過程。在這裡,我們向 Employee 表中插入一列,並從使用者那裡獲取值。(透過輸入引數)

DELIMITER //
Create procedure myProcedure (
   IN name VARCHAR(30),
   IN sal INT,
   IN loc VARCHAR(45))
      BEGIN
      INSERT INTO Employee(Name, Salary, Location) VALUES (name, sal, loc);
      END //
DELIMITER ;

以下查詢更改了 myProcedure 過程,它更改/向上面建立的函式添加註釋:-

ALTER PROCEDURE myProcedure COMMENT 'This is a sample comment';

驗證

您可以使用 Show Create Procedure 語句驗證已更改的過程,如下所示:-

SHOW CREATE PROCEDURE myProcedure\G;

以下是上述查詢的輸出:-

************* 1. row *************
      Procedure: myProcedure
      sql_mode: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
   Create Procedure: CREATE DEFINER=`root`@`localhost` 
                     PROCEDURE `myProcedure`(
   IN name VARCHAR(30),
   IN sal INT,
   IN loc VARCHAR(45))
   COMMENT 'This is a sample comment'
BEGIN
      INSERT INTO Employee(Name, Salary, Location) VALUES (name, sal, loc);
END
character_set_client: cp850
collation_connection: cp850_general_ci
   Database Collation: utf8mb4_0900_ai_ci
1 row in set (0.07 sec)
廣告