修改函数中CREATE DEFINER = `root`@`%` 的用户名root@mq_t1 保存后识别有问题

image

把用户名里的@识别成关联的了
CREATE DEFINER = root@mq_t1@%
版本:
OceanBase_CE 4.3.5.0

这里用单引号试试

CREATE DEFINER = ‘root@mq_t1’@’%’ PROCEDURE

这样试了也不行的

原sql发下

CREATE DEFINER = root@% PROCEDURE createLiebiaoyuju(IN sqlQuery VARCHAR(4000) , IN yewuid INT)
MODIFIES SQL DATA
BEGIN
DECLARE _sql TEXT;

-- 构建动态SQL
SET _sql = CONCAT('SELECT * INTO TEMPORARY TABLE shitu FROM (', sqlQuery,') AS derived_table');

-- 检查条件并更新
IF EXISTS(SELECT 1 FROM temp_shitu WHERE (liebiaoyuju IS NULL OR liebiaoyuju = '')) THEN
    UPDATE yewudangan SET liebiaoyuju = _sql 
			WHERE id = yewuid;
END IF;
1 个赞

按下面这种试试:

definer = root@%

1 个赞

这个语句应该没有问题哈