• Oracle系统工具包(学习笔记)


    Dbms_Output包

    No.

    子程序名称

    描述

    1

    enable

    打开缓冲区,当用户使用

    “SET SERVEROUTPUT ON”命令时,自动调用此语句

    2

    disable

    关闭缓冲区,当用户使用

    “SET SERVEROUTPUT OFF”命令时,自动调用此语句

    3

    put

    将内容保存到缓冲区中,不包含换行符,等执行put_line时一起输出

    4

    put_line

    直接输出指定内容,包括换行符

    5

    new_line

    在行尾添加换行符,在使用PUT时必须依靠new_line来添加换行符

    6

    get_line

    获取缓冲区中的单行信息

    子程序定义:“procedure   get_line(line out varchar2, status out integer);”

    参数作用: line:被get_line取回的行;

    status:是否取回一行,如果设置为1表示取回一行,如果0表示没有取回数据。

    7

    get_lines

    以数组的形式来获取缓冲区中的所有信息

    子程序定义:“procedure get_lines(lines out chararr,   numlines in out integer);”

    参数作用:

    line:被get_line取回的行,是一个CHARARR类型,此类型是一个VARCHAR2(255)的嵌套表,

    会返回缓冲区的多行信息;

     status:是否取回一行,如果设置为1表示取回一行,如果0表示没有取回数据;

    numlines:如果作为输入参数表明要返回的行数;作为返回参数表示实际取回的行数。

    示例一、设置输出打开,enable和关闭disable

    BEGIN
      dbms_output.enable;  --启用缓冲
      dbms_output.put_line('可以显示');
    END;
    BEGIN
      dbms_output.disable;  --关闭缓冲
      dbms_output.put_line('不可以显示');
    END;

    示例二、设置缓冲区

    BEGIN
       dbms_output.enable;  --启用缓冲
      dbms_output.put('www');            --向缓冲区中增加内容
      dbms_output.put('163.com');            --向缓冲区中增加内容
      dbms_output.new_line;              --换行,输出之间缓冲区的内容
      dbms_output.put('www.baidu.com');            --向缓冲区中增加内容
      dbms_output.new_line;               --换行,输出之间缓冲区的内容
        dbms_output.put('www.qq.com');            --向缓冲区中增加内容
    END;
    结果:
    www163.com
    www.baidu.com
    最后一行因为没有换行,此内容不输出

    示例三、使用get_line()和get_lines()函数取回缓冲区数据

    DECLARE
    v_line1       VARCHAR2(200);
    v_line2       VARCHAR2(200);
    v_status       NUMBER;
    BEGIN
       dbms_output.enable;  --启用缓冲
      dbms_output.put('www.baidu.com');            --向缓冲区中增加内容
      dbms_output.new_line;               --换行,输出之间缓冲区的内容
        dbms_output.put('www.qq.com');            --向缓冲区中增加内容
         dbms_output.new_line;               --换行,输出之间缓冲区的内容
         dbms_output.get_line(v_line1,v_status); --读取缓冲区一行  
         dbms_output.get_line(v_line2,v_status); --读取缓冲区一行  
         dbms_output.put_line(v_line1); --读取缓冲区一行  
         dbms_output.put_line(v_line2); --读取缓冲区一行  
    END;
    -------------
    DECLARE
    v_lines       dbms_output.chararr;            --定义charrarr变量
    
    
    v_status       NUMBER;
    BEGIN
       dbms_output.enable;  --启用缓冲
      dbms_output.put('www.baidu.com');            --向缓冲区中增加内容
      dbms_output.new_line;               --换行,输出之间缓冲区的内容
        dbms_output.put('www.qq.com');            --向缓冲区中增加内容
         dbms_output.new_line;               --换行,输出之间缓冲区的内容
         dbms_output.get_lines(v_lines,v_status); --读取缓冲区一行  
         FOR x IN 1..v_lines.count LOOP
         dbms_output.put_line(v_lines(x)); --读取缓冲区一行  
         END LOOP;
    END;
    DBMS_ASSERT包
    No. 子程序 描述
    1 ENQUOTE_LITERAL 接收一个字符串,并且在字符串的前后都加上单引号
    2    
    3    
    4    
    5    
    6    
    7    

    示例四、为字符串的前后都加上单引号

    SELECT dbms_assert.ENQUOTE_LITERAL('www.hellojava') FROM dual;

    示例五、为字符串的前后都加上双引号

    SELECT dbms_assert.ENQUOTE_NAME('www.hellojava') FROM dual;

    示例六、验证字符串是否为有效模式对象名

    SELECT dbms_assert.QUALIFIED_SQL_NAME('hello_orcale') FROM dual;

    示例七、输入错误的械对象

    SELECT dbms_assert.QUALIFIED_SQL_NAME('123') FROM dual;
    --对象名不能以数字开头

    示例八、验证字符串是否为有效模式名

    SELECT dbms_assert.SCHEMA_NAME('SCOTT') FROM dual;

    要求模式名全部大写

    示例九、输入错误模式名

    SELECT dbms_assert.SCHEMA_NAME('tests') FROM dual;

    不能小写模式名

  • 相关阅读:
    C语言中的复合类型
    C语言中的函数与指针
    C语言中的循环结构与选择结构
    C语言中的运算符
    C语言中的变量
    毕业论文查重网站
    Protocol and Delegate协议和代理
    NSArray与NSMutableArray 数组与可变数组
    UI复习
    NSString方法与NSMutableString方法
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4216890.html
Copyright © 2020-2023  润新知