You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Oracle APEX云免费账户导出数据并生成INSERT语句?

生成INSERT语句迁移Oracle APEX云数据的方法

方法一:用SQL Workshop的Unload功能(可视化操作)

这是最省心的方式,直接在APEX界面操作:

  • 登录免费账户,进入SQL Workshop -> Object Browser
  • 找到目标表,点进去查看表详情
  • 切换到Data标签页,查看表内所有数据
  • 点击页面顶部的Unload按钮,在弹出选项中选择Insert Statements
  • 按需配置:可选择导出全部行,或添加过滤条件;还能设置INSERT语句是否带列名、是否添加COMMIT语句
  • 点击Unload,系统直接生成完整的INSERT脚本,复制或下载即可

方法二:手写SQL拼接INSERT语句

需要更灵活控制时,直接编写SQL生成:

SELECT 'INSERT INTO 你的表名 (列1, 列2, 列3) VALUES (''' || 列1 || ''', ''' || 列2 || ''', ' || 列3 || ');' AS insert_stmt
FROM 你的表名;
  • 替换成实际的表名和列名
  • 如果字段包含单引号,需用REPLACE函数处理,比如将列1改为REPLACE(列1, '''', ''''''),避免语法错误
  • 执行后复制结果集中insert_stmt列的内容,就是可用的INSERT脚本

方法三:用APEX_DATA_EXPORT包批量处理

如果要一次性导出多个表,使用APEX自带的PL/SQL包:

DECLARE
    l_export CLOB;
BEGIN
    l_export := APEX_DATA_EXPORT.GET_DATA(
        p_format          => APEX_DATA_EXPORT.FORMAT_SQL,
        p_query           => 'SELECT * FROM 你的表名',
        p_sql_format_type => APEX_DATA_EXPORT.SQL_FORMAT_TYPE_INSERT
    );
    DBMS_OUTPUT.PUT_LINE(l_export);
END;
/
  • 执行代码后,通过DBMS_OUTPUT查看生成的语句,也可将CLOB内容保存为文件
  • 需处理多个表时,可编写循环遍历表名列表实现批量生成

关于EXPDP的说明

Oracle APEX免费账户没有权限使用EXPDP(数据泵导出),因为该工具需要服务器级访问权限,免费账户无法获取,因此只能通过上述方法生成INSERT语句完成数据迁移。

内容的提问来源于stack exchange,提问作者Ziad Adnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 21:22:43