Help Center/ Database and Application Migration UGO/ User Guide/ Syntax Conversion/ Conversion Error Codes/ Error Codes Generated During Conversion from MySQL to GaussDB/ U0400007: EXECUTE cannot be used to execute a dynamic SELECT statement in a GaussDB stored procedure
Updated on 2025-06-07 GMT+08:00

U0400007: EXECUTE cannot be used to execute a dynamic SELECT statement in a GaussDB stored procedure

Description

Database Type and Version

  • Source database type and version: MySQL 5.5, 5.6, 5.7, and 8.0
  • Target database type and version: all GaussDB versions

Syntax Example

This error is reported because UGO converts EXECUTE statements but does not convert dynamic SQL statements by default. You need to evaluate whether dynamic SELECT statements need to be executed.

If EXECUTE is used to execute dynamic SELECT statements in the GaussDB stored procedure, error U0400006 may be reported. For example:

CREATE PROCEDURE execute_dynamic_demo()
AS
    DECLARE total INT;
BEGIN
    SELECT count(1) INTO total FROM emp_t WHERE deptno = 10;
    EXECUTE IMMEDIATE 'SELECT total;';
END;