文档首页/ 数据库和应用迁移 UGO/ 用户指南/ 语法转换指南/ 转换错误码/ 通用转换错误码/ U0000011: 动态SQL无法自动拼接成一个完整的SQL语句
更新时间:2025-12-23 GMT+08:00
分享

U0000011: 动态SQL无法自动拼接成一个完整的SQL语句

描述

对于Oracle PLSQL中的动态SQL语句,UGO无法自动拼接成一个完整的SQL语句,生成错误提示。

数据库类型与版本

  • 源库类型与版本:UGO 支持的 Oracle 版本。
  • 目标库类型与版本:UGO 支持的 GaussDB 版本。

语法示例

create or replace function test() return int
as
begin
return 100;
end;
/
DECLARE
  v_test int;
BEGIN
  v_test:=test();
  EXECUTE IMMEDIATE 
    'select' ||v_test|| 'from USER_TAB_PARTITIONS';
  END;
/

 

改造建议

无自动转换方案,可使用SQL语句转换功能转换动态SQL中的内容。

如果“SQL语句转换”功能依然无法自动转换,需要人工修改动态SQL。

GaussDB修改后SQL:

create or replace function test() return NUMBER(38)
as
begin
return 100;
end;
/
DECLARE
  v_test NUMBER(38);
BEGIN
  v_test:=test();
  EXECUTE IMMEDIATE 
    'select' || v_test || 'from MY_TAB_PARTITIONS';
  END;
/

相关文档