常用的oracle语法

批量插入语法:

create or replace procedure(

    ftpname    in varchar2,

 

    ftpip      in varchar2,

 

    ftpuser    in varchar2,

 

    ftppwd     in varchar2,

 

    ftpport    in number,

 

    ftpappcode in varchar2,

 

    locCode      in varchar2) IMPORT_DATA is

 

begin

  insert into DME_DOC_SYS_INFO

  (LINE_ID,

   DOC_CODE,

   DOC_NAME,

   DOC_CONTENT_TYPE,

   DOC_SIZE,

   DOC_SUFFIX_NAME,

   DOC_FTP_PATH,

   DOC_FTP_FILENAME,

   APP_LINE_ID,

   BILL_CODE,

   TYPE_LINE_ID,

   CREATED_BY,

   CREATED_BY_NAME,

   CREATED_DATE)

  select dme_doc_sys_info_s.nextval,

         getdoccode,

         e.file_name,

         'doc_content_type',

         e.file_doc_number,

         substr(e.file_name, instr(e.file_name, '.', -1, 1)),

         substr(e.file_full_path,instr(e.file_full_path, '\', 1, 2) + 1),

         e.file_ftp_name,

         '101',

         'bill_code',

         '253',

         '503426',

         'shenchen_09_09_29',

         sysdate

    from export_temp e;

end IMPORT_DATA;

<---------------------------------------------------------------------------------

----------------------------------------------------------------------------------->

游标的分类:显示游标、隐式游标、引用类型游标

 

游标

 

create or replace procedure SP_IMPORT_DME_DOC is

 

       V_DOC_CODE VARCHAR2(100);

 

       V_DOC_NAME VARCHAR2(200);

 

       V_DOC_SIZE INTEGER;

 

       V_DOC_SUFFIX VARCHAR2(50);

 

       V_DOC_FTP_PATH VARCHAR2(200);

 

       V_DOC_FTP_FILENAME VARCHAR2(200);

 

       V_BILL_CODE VARCHAR2(50);

 

       V_LINE_ID NUMBER;

 

       V_ENCRYPT_SUPPORTED INTEGER;

 

       CURSOR CURSOR_TASK IS

 

              SELECT DOC_CODE, DOC_NAME, DOC_SIZE, DOC_SUFFIX_NAME, DOC_FTP_PATH, DOC_FTP_FILENAME, BILL_CODE, SEGMENT1

 

               FROM V_DME_DOC;

 

begin

 

     OPEN CURSOR_TASK;

 

    

 

     FETCH CURSOR_TASK INTO V_DOC_CODE, V_DOC_NAME, V_DOC_SIZE, V_DOC_SUFFIX, V_DOC_FTP_PATH, V_DOC_FTP_FILENAME, V_BILL_CODE, V_ENCRYPT_SUPPORTED;

 

    

 

     WHILE CURSOR_TASK%FOUND

 

     LOOP

 

         SELECT DME_DOC_SYS_INFO_S.NEXTVAL INTO V_LINE_ID FROM DUAL;

 

    

 

         INSERT INTO DME_DOC_SYS_INFO(

 

                LINE_ID,

 

                DOC_CODE,

 

                DOC_NAME,

 

                DOC_CONTENT_TYPE,

 

                DOC_SIZE,

 

                DOC_SUFFIX_NAME,

 

                DOC_FTP_PATH,

 

                DOC_FTP_FILENAME,

 

                APP_LINE_ID,

 

                BILL_CODE,

 

                TYPE_LINE_ID,

 

                CREATED_BY,

 

                CREATED_BY_NAME,

 

                CREATED_DATE,

 

                LAST_UPDATED_BY,

 

                LAST_UPDATED_BY_NAME,

 

                LAST_UPDATED_DATE,

 

                SEGMENT1)

 

          VALUES(V_LINE_ID, V_DOC_CODE, V_DOC_NAME, 'application/octet-stream', V_DOC_SIZE, V_DOC_SUFFIX, V_DOC_FTP_PATH, V_DOC_FTP_FILENAME,

 

               101, V_BILL_CODE, 253, '10098963', '唐文', SYSDATE, '10098963', '唐文', SYSDATE, V_ENCRYPT_SUPPORTED);

 

              

 

          FETCH CURSOR_TASK INTO V_DOC_CODE, V_DOC_NAME, V_DOC_SIZE, V_DOC_SUFFIX, V_DOC_FTP_PATH, V_DOC_FTP_FILENAME, V_BILL_CODE, V_ENCRYPT_SUPPORTED;

 

     END LOOP;

 

    

 

     CLOSE CURSOR_TASK;

 

    

 

     -- clean temp table

 

     DELETE FROM V_DME_DOC;

 

end SP_IMPORT_DME_DOC;

 

<----------------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------------->

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值