程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle系統工具包(學習筆記),oracle學習筆記

Oracle系統工具包(學習筆記),oracle學習筆記

編輯:Oracle教程

Oracle系統工具包(學習筆記),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;

不能小寫模式名

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved