我有一个要删除的导入SQL过程。其语法始于:
DELIMITER ;;
CREATE DEFINER=`cloudsqlimport`@`127.0.0.1` PROCEDURE `someProc`(IN cui_in CHAR(8), IN kind CHAR(20))
...
当尝试使用“ root”用户删除它时,使用:
DROP PROCEDURE someProc
我得到:
Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation
如何删除此过程?
答案 0 :(得分:0)
实际上是DROP PROCEDURE someProc;必须为此工作。我已经尽力了,创建了一个SP,然后使用该命令将其删除,如下图所示。那么,您从哪里尝试执行此任务?我建议您使用Cloud Shell,因为我在那里没有问题。
已更新
您似乎对自己的评论不屑一顾。使用cloudsqlimport
@ 127.0.0.1
导入SP时,无法在MySQL中使用命令DROP PROCEDURE将其删除。不过,作为一种解决方法,您可以使用以下命令创建一个sql文件
USE `my-database`;
DROP PROCEDURE IF EXISTS someProc;
DELIMITER ;
创建了这样的文件后,只需将其导入到Cloud SQL数据库中,SP就会被删除。
作为一项建议,我建议您不要使用cloudsqlimport
@ 127.0.0.1
,我认为最好的选择是使用root
@ %
答案 1 :(得分:-1)
DROP PROCEDURE DEFINER.someproc; 句法 : 删除程序。;