带有自定义参数的Mysql SP

时间:2014-03-28 04:52:14

标签: mysql stored-procedures

我是mysql存储过程的新手。这里我有一个表 tbl_users ,包含以下字段

id
first_name
last_name
status

我写了以下SP来更新此表。

CREATE PROCEDURE `user_update`(IN var_id INT, IN var_first_name TEXT, IN var_last_name TEXT, IN var_status INT)
BEGIN    
    UPDATE tbl_users SET first_name = var_first_name, last_name = var_last_name, status = var_status WHERE id = var_id;
END

上述程序可以正常使用。问题是,我想使用相同的程序来更新唯一的状态字段。在这种情况下,我必须使用现有值传递所有参数。有没有解决方案,如果可能,我可以在多个领域重复使用SP ...请帮助。

1 个答案:

答案 0 :(得分:1)

Mr. EKL please try this code,
You have to include a new parameter "Update_Field"  and try the below code

CREATE PROCEDURE `user_update`(
IN var_id INT, 
IN var_first_name TEXT, 
IN var_last_name TEXT, 
IN var_status INT,
IN Update_field TEXT
)
BEGIN    
UPDATE tbl_users SET first_name = var_first_name, last_name = var_last_name, [status] = var_status WHERE id = var_id AND Update_field = 'ALL'; 
UPDATE  tbl_users SET [status]  = var_status WHERE  id = var_id AND Update_field = 'status';
END