Mysql评论信息显示
关于评论显示的问题,示例如下:Mysql评论信息显示,mysql,comments,display,Mysql,Comments,Display,关于评论显示的问题,示例如下: DROP FUNCTION IF EXISTS `foo`; delimiter // -- comment1 -- comment2 -- comment3 CREATE FUNCTION foo() RETURNS int(1) BEGIN SET @var1 = @var1 + 1; /* information here */ RETURN @var1; END; // delimiter ; show create function
DROP FUNCTION IF EXISTS `foo`;
delimiter //
-- comment1
-- comment2
-- comment3
CREATE FUNCTION foo()
RETURNS int(1)
BEGIN
SET @var1 = @var1 + 1; /* information here */
RETURN @var1;
END;
//
delimiter ;
show create function foo;
函数foo的结果不包含任何注释,是否仅出于开发目的显示注释?仅当您将注释包含在函数体中时 如果您在*nix平台上使用mysql cli,则可以通过设置寻呼机来清除注释,然后使用SHOW CREATE PROCEDURE dbname.PROCEDURE_name或查询information_schema routines表。以后别忘了重置寻呼机 e、 g 或
将引用脚本保存在某种形式的外部.sql文件中,以备将来开发之用。谢谢Paul,这个问题仍然存在。这种情况很奇怪,我想原因是我的帐户没有选择基表mysql.proc的权限。但不确定,我尝试在命令行或Navicat中执行许多注释方式,但仍然没有注释。只有用法和数据库上的所有权限。好吧,这应该足够了,如果您可以定义一个函数,您当然可以将其显示出来。我使用系统中的一个存储过程给出了此方法的示例,我注意到您正在定义一个函数。您在测试时是否使用了“showcreateprocedure”而不是“showcreatefunction”?是的,根据我过去在MySQL数据库上的经验,我知道这一点。但结果还是“吃”了我们的评论。我们试图通过调试流程和这里的反馈找出根本原因。再次感谢。嗨,保罗。我们确认MySQL数据库代理通过安全原因删除所有注释,以防止SQL注入操作。所以这个问题正在得到解决。谢谢你的帮助!!
mysql> pager grep '\-\-'
PAGER set to 'grep '\-\-''
mysql> select routine_definition from information_schema.routines where routine_name = 'myaes_convert'\G
DECLARE gtg TINYINT DEFAULT 0; -- OK to proceed
DECLARE vtable_schema VARCHAR(64); -- cursor var
DECLARE vtable_name VARCHAR(64); -- cursor var
-- Perform Backups on columns
-- Perform Index backup
-- Drop indexes
-- Call column converter
-- Create triggers on table
-- Restore indexes and log
-- rename the table _myaes
-- create the view for this table
SELECT 1; -- Phew!
1 row in set (0.02 sec)
mysql> pager
Default pager wasn't set, using stdout.
mysql> pager grep '\-\-'
PAGER set to 'grep '\-\-''
mysql> show create procedure myaes.myaes_convert\G
DECLARE gtg TINYINT DEFAULT 0; -- OK to proceed
DECLARE vtable_schema VARCHAR(64); -- cursor var
DECLARE vtable_name VARCHAR(64); -- cursor var
-- Perform Backups on columns
-- Perform Index backup
-- Drop indexes
-- Call column converter
-- Create triggers on table
-- Restore indexes and log
-- rename the table _myaes
-- create the view for this table
SELECT 1; -- Phew!
1 row in set (0.00 sec)
mysql> pager
Default pager wasn't set, using stdout.