添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
根据练习目标尽量自己实现代码效果,期间会碰到疑问,难题,和自己不懂的地方,这些都是必要的过程
2. 带着疑问查看答案
完成过程中,碰到无法解决的问题,带着疑问,查看答案,分析答案的解决思路
3. 查看答案讲解视频
依然有不明白的地方,点开视频讲解,带着疑问,听视频讲解有问题的部分
4. 再做一遍
理解后,再从头做一遍,把有疑问的地方都捋清楚
5. 总结
最后再总结一遍,总结思路,总结解决办法,以后遇到类似的问题,怎么处理
create or replace procedure test_cjsql(in_sqlnr      in clob,
                                       in_bzhjsjkdms in varchar2,
                                       in_dxlxdm     in varchar2,
                                       out_code      in out varchar2,
                                       out_mess      in out varchar2) Authid Current_User IS
  /*???? ????sql?????? ???? ?? ????????????*/
  PRAGMA AUTONOMOUS_TRANSACTION; /*????????????????*/
  c_sqlnr  clob;
  V_SQLERR VARCHAR2(255);
  jb_err EXCEPTION;
BEGIN
  --c_sqlnr := replace(in_sqlnr, chr(10), chr(32)); /*????????*/
  --c_sqlnr := replace(c_sqlnr, chr(13), chr(32)); /*????????*/
  --c_sqlnr := trim(trailing ';' from c_sqlnr); /*????????????*/
  c_sqlnr := trim(trailing ';' from in_sqlnr); /*????????????*/
  BEGIN
    /*??????????????????????ddl????
      1????????????????
      2??????????????????????????????????????????????
    /*mysql&&oracle*/
    /*if in_dxlxdm <> '03' or
       in_dxlxdm = '03' and
       (in_bzhjsjkdms is null or instr(in_bzhjsjkdms, 'SJBSHX001') > 0 or
       instr(in_bzhjsjkdms, 'YYZC001') > 0 or
       instr(in_bzhjsjkdms, 'YYZC002') > 0) then
        if instr(c_sqlnr,'mysql')>0 then--mysql只记录不执行
          null;
         EXECUTE IMMEDIATE c_sqlnr; --???????? 
        end if;              
    end if;*/
    /*oracle*/
    if in_dxlxdm <> '03'  or
       in_dxlxdm = '03'  and
       (in_bzhjsjkdms is null or instr(in_bzhjsjkdms, 'SJBSHX001') > 0 or
       instr(in_bzhjsjkdms, 'YYZC001') > 0 or
       instr(in_bzhjsjkdms, 'YYZC002') > 0) then
         EXECUTE IMMEDIATE c_sqlnr; --????????              
    end if;
  EXCEPTION
    WHEN OTHERS THEN
      /*?????????? ????*/
      V_SQLERR := SUBSTR(SQLERRM, 1, 255);
      out_code := '2';
      out_mess := substrb(V_SQLERR, 1, 1000);
      RAISE jb_err;
  /*????????  ????*/
  out_code := '1';
  out_mess := '执行成功!';
  commit;
EXCEPTION
  when jb_err then
    ROLLBACK; --????????
  when others then
    --????????
    V_SQLERR := SUBSTR(SQLERRM, 1, 255);
    out_code := '3';
    out_mess := V_SQLERR;
    ROLLBACK; --????????
END test_cjsql;
有人能告诉我这段代码是什么意思么   求大神指点
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长 不同版本的开发环境 导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html