PhpMyAdmin,其中的过程保存在文件系统上

时间:2013-12-01 11:16:52

标签: mysql stored-procedures phpmyadmin

我想通过phpmyadmin在mysql中创建过程,它在两个表中插入参数,但phpmyadmin会抛出错误,这是不可能的。

所以我想在notepad ++上尝试编辑程序。你能告诉我他们在文件系统中保存了哪些内容。

我使用xampp在localhost上运行phpmyadmin。

或者,如果使用这两个insert语句创建过程的任何其他选项。

INSERT INTO `table1`(`att1`, `att2`, `att3`) 
VALUES (p_att1, p_att2, p_att3);
INSERT INTO `table2`(`att1`, `att2`, `att3`, `att4`, `att5`)
VALUES ('admin','admin', p_att4, p_att5, p_att6)

1 个答案:

答案 0 :(得分:0)

正如评论中已经提到的,存储过程不是存储在文件系统上,而是存储在数据库本身的特殊表中。

如果您具有适当的权限,则可以通过发出以下command

来查看过程的定义
SHOW CREATE PROCEDURE my_proc;

现在你的程序看起来像这样

DELIMITER $$
CREATE PROCEDURE my_proc
(
  IN _att1 VARCHAR(32), 
  IN _att2 VARCHAR(32),
  IN _att3 VARCHAR(32),
  IN _att4 VARCHAR(32),
  IN _att5 VARCHAR(32)
)
BEGIN
  START TRANSACTION;
    INSERT INTO table1(att1, att2, att3) 
      VALUES (_att1, _att2, _att3);
    INSERT INTO table2(att1, att2, att3, att4, att5)
      VALUES ('admin','admin', _att3, _att4, _att5);
  COMMIT;
END$$
DELIMITER ;

这是 SQLFiddle 演示