企业版2.2.76不支持EXISTS()吗 为什么在存储过程里使用这个函数被报4016错误。
– 删除存储过程(可选)
DROP PROCEDURE IF EXISTS DropColumnIfExists;
DELIMITER $$
CREATE PROCEDURE DropColumnIfExists()
BEGIN
– 检查字段是否存在
IF EXISTS (
SELECT 1
) THEN
– 如果字段存在,则删除字段
SELECT 1;
END IF;
END$$
DELIMITER ;
– 调用存储过程
CALL DropColumnIfExists();
– 删除存储过程(可选)
DROP PROCEDURE IF EXISTS DropColumnIfExists;
4 个赞
论坛小助手
#4
您好,您提的这个技术问题可能牵涉到 OceanBase 企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:
-
如你所在的企业客户已签署 OceanBase 企业版销售合同,请你联系客户经理;
-
如你所在的企业客户尚未签署 OceanBase 企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。
3 个赞
这个版本比较老了,另外最好发下4016错误的详细信息。
3 个赞
这个问题让我想起了IF相关的优化,特别是在DropColumnIfExists方面,采用PROCEDURE策略很有效。
1 个赞