暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【干货攻略】达梦数据库外部表插入数据

达梦E学 2024-06-26
577



摘要

利用外部表的特性将文本数据插入到表中。





正文


创建一个目录

    CREATE OR REPLACE DIRECTORY "EXTDIR_2" AS 'd:\ext_table_2';

    复制

    d:\ext_table_2目录下准备一个数据文件data.txt,内容如下:

    10|9|7

    4|3|2

    创建一个空表,预期将d:\ext_table_2\data.txt文件中的数据插入到该表

      CREATE TABLE EXT_TABLE0 ( C1 INT, C2 INT, C3 INT ) ;

      创建一个存储过程,在存储过程中创建一个外部表,借助外部表将数据查询插入到实体表

        create or replace procedure imp_ext_table(owner varchar(500), tname varchar(500),dataStr varchar(500)) as
        sqlstr varchar;
        begin
        sqlstr='';
        select 'CREATE EXTERNAL TABLE if not exists ' || owner || '.EXT_' || tname || substr(tabledef(owner,tname),
        instr(tabledef(owner,tname),'('),
        instr(tabledef(owner,tname),'STORAGE')-instr(tabledef(owner,tname),'(')-1) || ' FROM DATAFILE DEFAULT DIRECTORY EXTDIR_2 LOCATION(' || '''' || dataStr || ''')' ||
        ' PARMS(FIELDS DELIMITED BY ''|'', RECORDS DELIMITED BY 0x0d0a)'
        into sqlstr from dual;
        execute immediate sqlstr;
        execute immediate 'insert into ' || owner || '.' || tname || ' select * from '|| owner ||'.EXT_' || tname;
        commit;
        execute immediate 'drop table ' || owner ||'.EXT_' || tname;
        end;


        调用存储过程,将文件中的数据插入到实体表

          call imp_ext_table(user,‘EXT_TABLE0’,‘data.txt’);

          检查数据是否成功插入

            select * from EXT_TABLE0;





            总结


            以上为本期分享,希望能带给大家帮助。想要了解更多往期干货,可访问页面最下方#达梦技术干货攻略#合集或下方相关分享。在此邀请更多学员参与“达梦技术干货投稿活动”,稿件获选后将在达梦“干货分享”专栏进行发布,欢迎来稿!


            相关分享:

            【总结帖】2023年达梦技术干货攻略年度合集

            【干货攻略】达梦数据库如何调整表空间存储位置

            【干货攻略】rowid的简单应用

            【干货攻略】达梦数据库基于操作系统本机身份验证登录方式

            【开班通知】第18期DM8-DCA线上培训班招生中(2024年06月26日开班)

            【开班通知】第20期DM8-DCP线上培训班招生中(2024年07月15日开班)


            END

            达梦知识普及

            扫码关注我们
            学习共享
            知识普及

            作者:myth8860
            审核:crossrainbow
            排版:达梦培训中心



            文章转载自达梦E学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论