我是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 ...请帮助。
答案 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