ada*_*dam 5 mysql stored-procedures function information-schema
我需要我在 MySQL 中编写的存储过程的日志。我知道这在 MS SQL Server 中是可用的 @@procid。
MySQL 中的等价物是什么?
我将使用时间戳、connection_id、database()。
如何获得我正在执行的 sp 的名称?那个叫我的 SP 怎么样?
谢谢,亚当
您可以将过程名称作为 IN 参数传递到被调用的过程中,并从这些过程中记录此信息。
例如 -
DELIMITER $$
CREATE PROCEDURE procedure1(IN proc_name VARCHAR(255))
BEGIN
INSERT INTO proc_log VALUES('procedure1', proc_name, NOW());
END$$
CREATE PROCEDURE procedure2(IN proc_name VARCHAR(255))
BEGIN
INSERT INTO proc_log VALUES('procedure2', proc_name, NOW());
CALL procedure1('procedure2');
END$$
DELIMITER ;
CALL procedure2(NULL);
SELECT * FROM proc_log;
+------------+----------------+---------------------+
| proc_name | call_proc_name | call_ts |
+------------+----------------+---------------------+
| procedure2 | NULL | 2012-07-30 16:17:53 |
| procedure1 | procedure2 | 2012-07-30 16:17:53 |
+------------+----------------+---------------------+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3579 次 |
| 最近记录: |