如何在Mysql中更改存储过程.
DROP PROCEDURE IF EXISTS sp_Country_UPDATE;
CREATE PROCEDURE sp_Country_UPDATE
( IN p_CountryId int,
IN p_CountryName nvarchar(25),
IN p_CountryDescription nvarchar(25),
IN p_IsActive bit,
IN p_IsDeleted bit )
UPDATE
Country
SET
CountryName = p_CountryName ,
CountryDescription=p_CountryDescription,
IsActive= p_IsActive,
IsDeleted=p_IsDeleted
WHERE
CountryId = p_CountryId ;
Run Code Online (Sandbox Code Playgroud)
如何更改此存储过程?
Pet*_*ete 15
如果您的意思是要编辑过程,那么您不能根据MySQL文档:
此语句可用于更改存储过程的特征.可以在ALTER PROCEDURE语句中指定多个更改.但是,您无法使用此语句更改存储过程的参数或主体; 要进行此类更改,您必须使用DROP PROCEDURE和CREATE PROCEDURE删除并重新创建该过程.
使用Altersyntaax可以更改"特征",但不能更改实际的过程本身
http://dev.mysql.com/doc/refman/5.0/en/alter-procedure.html
这是创建,修改(注释)然后删除和重新创建的示例:
DROP PROCEDURE myFunc;
DELIMITER //
CREATE PROCEDURE myFunc ()
COMMENT 'test'
BEGIN
SELECT 5;
END //
DELIMITER ;
ALTER PROCEDURE myFunc
COMMENT 'new comment';
CALL myFunc();
DROP PROCEDURE myFunc;
DELIMITER //
CREATE PROCEDURE myFunc ()
COMMENT 'last time'
BEGIN
SELECT 6;
END //
DELIMITER ;
CALL myFunc();
Run Code Online (Sandbox Code Playgroud)
以上CALL myFunc()陈述将返回5然后6.
查看存储过程会显示"test","new comment"或"last time"的注释,具体取决于您查看过程主体的时间(我不确定如何通过CLI查看注释但我可以在Navicat中的函数选项卡)
小智 -8
这就是你创建的方式
CREATE PROCEDURE GetAllProducts()
BEGIN
SELECT * FROM products;
END //
Run Code Online (Sandbox Code Playgroud)
这就是你改变的方式
Alter PROCEDURE GetAllProducts()
BEGIN
SELECT * FROM products;
END //
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50017 次 |
| 最近记录: |