• Oracle学习总结(一)存储过程基础


    --存储过程,变量名不区分大小写
      --1.创建存储过程
      --固定格式:CREATE OR REPLACE PROCEDURE 存储过程名字 (变量名 in 类型) as
      CREATE OR REPLACE PROCEDURE "My_Demo" (class in varchar2)
      as
     
      --2.声明变量
      var_name VARCHAR2(100);       --声明普通变量
      var_subject VARCHAR2(100);   
      var_postid NUMBER(10);
      var_card_id NUMBER(10);
      card_id sys_refcursor;        --声明oracle 自定义游标
      FILE_HANDLE            UTL_FILE.FILE_TYPE;  --声明文件句柄
     
      --3.主要逻辑
      --固定格式以Begin开始,end结束;
      Begin
       .
       .
       .
       .
       .
       .
       end;
      
       --4.输出文本字符串
       dbms_output.put_line('===START===');
      
       --5.给变量赋值
       var_name := '';  --在这边 := 等价于 =
      
       --6.字符串连接使用 ||
       var_name||'_0001.unl'   --变量连接字符串
      
       --7.往文件中写东西
         --7.1 打开文件句柄,第一个参数必须为大写,第二个参数是文件名称,第三个参数随便
        FILE_HANDLE := UTL_FILE.FOPEN('MYFILE',
                                     var_name||'_0001.unl',
                                     'w');
                                    
        UTL_FILE.FCLOSE(FILE_HANDLE);
       
         --7.2 写内容到文件
         utl_file.put_line(FILE_HANDLE,
                           var_name|| '|' || var_subject || '|' ||);
        
      --8.打开游标,将数据存储到游标中,最后关闭游标
      open card_id for 'select card_id from student';
       .
       .
       .
       .
      close card_id;
      
      --9.循环遍历游标
       loop
          fetch card_id
             into var_card_id;
           exit when card_id%NOTFOUND;
          
         end loop;
        
         --10.if语句的使用
         if card_id > 0 then

            select name,subject
                    INTO var_name, var_subject
                     FROM student;
        else
            var_name := '';
            var_subject := '';
        end if;
       
        --11.抛异常,表示除声明意外的错误
        exception
         when others then
        
        --12.带返回值的
        CREATE OR REPLACE PROCEDURE "My_Demo" (class in varchar2)
        return varchar2 is
        声明变量
        var_temp varchar(100);
        begin
         .
         .
         .
         .
         .
         .
        return(var_temp);

  • 相关阅读:
    【刷题-LeetCode】154 Find Minimum in Rotated Sorted Array II
    【刷题-LeetCode】153 Find Minimum in Rotated Sorted Array
    【刷题-LeetCode】152 Maximum Product Subarray
    迭代器,生成器
    python 16 装饰器
    python 15 闭包函数
    python 14 名称空间与作用域
    函数参数
    python 11 函数基础
    python中list、tuple、set、dict区别
  • 原文地址:https://www.cnblogs.com/huochangjun/p/3087945.html
Copyright © 2020-2023  润新知