Noe*_*eto 5 mysql stored-procedures
我正在使用一组新的表和越来越多的存储过程列表。
有没有办法根据表和存储过程的注释生成文档,例如autodoc或 doxygen?
注意:我使用的是mysql。
我一生都无法理解为什么这个问题会因偏离主题而被标记。我认为这对于正在工作的 DBA 来说很有趣并且非常相关。
不幸的是,据我所知,不可能自动执行此操作。您可以运行两个命令
SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = 'yourdb' AND ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME = "procedurename";
Run Code Online (Sandbox Code Playgroud)
和
SHOW PROCEDURE STATUS; -- will give you all procedures available.
SHOW CREATE PROCEDURE procedure_name; -- will give you details about a given procedure.
Run Code Online (Sandbox Code Playgroud)
此处提供了对该主题的很好的讨论,其中显示了与各种命令相关的问题。
稍微扩展示例 alluser() 过程的示例,如上面的链接所示。我用 # 和 -- 添加了注释。
DELIMITER //
CREATE PROCEDURE alluser()
# a proc to show all users
BEGIN
SELECT * -- selecting from the users' table
FROM users;
END //
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
我发现使用 SHOW PROCEDURE STATUS 或 SHOW CREATE PROCEDURE alluser; 都不会返回注释;NOR 上面的 SQL 语句返回注释。
[编辑-我进一步发现评论不会被返回SELECT * FROM Information_Schema.Routines.
我搜索了系统并在 INFORMATION_SCHEMA.ROUTINES 中找到了字段 ROUTINE_COMMENT - 但它也没有返回注释。这个字段的用途,我不太清楚 - 也许它还没有实现?
我谨建议您最好的选择是边做边记录 - 将“程序的完整文档”作为您的测试和 UAT 框架的一部分。
| 归档时间: |
|
| 查看次数: |
2545 次 |
| 最近记录: |