SQL 练习 Using ,Case
  C5bk9rm9TFUo 2023年11月02日 30 0
SQL


 

CREATE OR REPLACE PROCEDURE P_B(P_1 IN VARCHAR2, P_2 OUT NUMBER) IS

  STR_SQL VARCHAR2(500);
  P_LINE  NUMBER(10);
  P_STR   VARCHAR2(200);
  P_STR2  VARCHAR2(200);

BEGIN
  P_LINE := 1;

  STR_SQL := 'INSERT INTO TT_EMAIL T(T.KEYID,T.EMAIL_MAIL,T.EMAIL_USER,T.EMAIL_TEL) VALUES (:A,:B,:C,:D)';

  EXECUTE IMMEDIATE STR_SQL
    USING 'A', 'B', 'C', 'D';

  P_LINE := 2;
  P_2    := 123;

  FOR R IN (SELECT T.EMAIL_MAIL, T.EMAIL_USER, T.EMAIL_TEL FROM TT_EMAIL T) LOOP
    DBMS_OUTPUT.PUT_LINE(SQLERRM);
  
    CASE
      WHEN R.EMAIL_TEL = '13800138000' THEN
        P_STR := '138';
      WHEN R.EMAIL_TEL = '10086' THEN
        P_STR := '000';
      ELSE
        P_STR := '其它';
    END CASE;
  END LOOP;

  DBMS_OUTPUT.PUT_LINE(P_STR);
  SELECT COUNT(1)
    INTO P_STR2
    FROM (SELECT CASE
                   WHEN T.EMAIL_MAIL = '1@QQ.COM' THEN
                    '1'
                   WHEN T.EMAIL_MAIL = '2@QQ.COM' THEN
                    '2'
                   ELSE
                    '其它的EMAIL'
                 END AS EMAIL
            FROM TT_EMAIL T) V;
  DBMS_OUTPUT.PUT_LINE(P_STR2);

EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(SQLERRM);
  
END P_B;

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  biE3E3UjTjeg   2024年01月22日   36   0   0 SQLSQL
  eEsPR9IZLNNM   2023年12月24日   64   0   0 sqlJavaSQLJava
C5bk9rm9TFUo