當前位置:首頁 » 編程語言 » plsql數據類型

plsql數據類型

發布時間: 2023-08-22 12:12:46

⑴ 如何使用 pl/sql工具 修改blob類型的數據

如何使用 pl/sql工具 修改blob類型的數據
使用PL/SQL從資料庫中讀取BLOB對象:
1.首先,確認現有對象

SQL> col fdesc for a30
SQL> select fid,fname,fdesc from eygle_blob;

FID FNAME FDESC
------------------------ ------------------------------
1 ShaoLin.jpg 少林寺-康熙手書
2 DaoYing.jpg 倒映

2.創建存儲Directory

SQL> connect / as sysdba
Connected.
SQL> create or replace directory BLOBDIR as 'D:oradataPic';

Directory created.

SQL>
SQL> grant read,write on directory BLOBDIR to eygle;

Grant succeeded.

SQL>

3.創建存儲過程

SQL> connect eygle/eygle
Connected.
SQL>
SQL> CREATE OR REPLACE PROCEDURE eygle_mp_blob (piname varchar2,poname varchar2) IS
2 l_file UTL_FILE.FILE_TYPE;
3 l_buffer RAW(32767);
4 l_amount BINARY_INTEGER := 32767;
5 l_pos INTEGER := 1;
6 l_blob BLOB;
7 l_blob_len INTEGER;
8 BEGIN
9 SELECT FPIC
10 INTO l_blob
11 FROM eygle_blob
12 WHERE FNAME = piname;
13
14 l_blob_len := DBMS_LOB.GETLENGTH(l_blob);
15 l_file := UTL_FILE.FOPEN('BLOBDIR',poname,'wb', 32767);
16
17 WHILE l_pos < l_blob_len LOOP
18 DBMS_LOB.READ (l_blob, l_amount, l_pos, l_buffer);
19 UTL_FILE.PUT_RAW(l_file, l_buffer, TRUE);
20 l_pos := l_pos + l_amount;

⑵ 想問問大家,sql server,PL/SQL,mysql這幾個什麼區別

sql server,PL/SQL,mysql區別為:性質不同、數據類型不同、面向群不同。

一、性質不同

1、sql server:sql server是Microsoft公司推出的關系型資料庫管理系統。

2、PL/SQL:PL/SQL是一種過程化語言,是Oracle資料庫對SQL語句的擴展。

3、mysql:mysql是一個關系型資料庫管理系統,由瑞典MySQL AB 公司開發,屬於Oracle旗下產品。

二、數據類型不同

1、sql server:sql server對非傳統的數據類型缺乏內置的支持。

2、PL/SQL:PL/SQL能夠利用Web的多媒體特性,將在Web中發現的各種數據類型集成為數據包(mess)。

3、mysql:mysql能夠將非傳統的數據存儲到單獨的伺服器里的平面(flat)文件中,然後使用OLE-DB將它們鏈接在一起。

三、面向群不同

1、sql server:sql server的面向群體為商業化大型企業。

2、PL/SQL:PL/SQL的面向群體為商業化大型企業。

3、mysql:mysql的面向群體為一般的個人使用者和中小型企業。

⑶ plsql中怎麼輸出boolean類型

布爾類型是PL/SQL數據類型的一種,能存儲邏輯值TRUE、FALSE。只有邏輯操作符才允許應用在布爾變數上。資料庫SQL 類型並不支持布爾
類型,只有PL/SQL才支持。所以不能往資料庫中插入或從資料庫中檢索出布爾類型的值。下面描述了布爾型的聲明、賦值以及如何輸出布爾型。

[sql]viewplainprint?
1、布爾型的聲明與賦值
PL/SQL提供的兩個表示布爾值的直接量為TRUE和FALSE。這些值不是字元串,我們也不用加引號。
可以直接用布爾直接量給布爾類型變數賦值。
--聲明與賦值示例
DECLARE
is_booleanBOOLEAN;--聲明一個布爾類型變數
BEGIN
is_boolean:=FALSE;--給這個變數賦值
END;

--預設情況下,布爾型的默認值為false
DECLARE
v_booleanBOOLEAN;
BEGIN
IFv_booleanTHEN
DBMS_OUTPUT.put_line('true');
ELSE
DBMS_OUTPUT.put_line('false');
ENDIF;
END;
false

PL/.

只有TRUE、FALSE和NULL才可以賦給布爾類型的變數。
當表達式中使用關系操作符的時候,返回結果也是布爾類型的值,如下面的示例:

v_flag:=(count>200);

2、如何輸出布爾型
--下面的例子是一個使用put_line函數輸出的情形
SQL>DECLARE
2v_boolBOOLEAN;
3BEGIN
4v_bool:=TRUE;
5DBMS_OUTPUT.put_line('Thevalueifv_boolis'||v_bool);
6END;
7/
DBMS_OUTPUT.put_line('Thevalueifv_boolis'||v_bool);
*
ERRORatline5:
ORA-06550:line5,column26:
PLS-00306:'||'
ORA-06550:line5,column4:
PL/SQL:Statementignored
--上面在輸出布爾型的時候收到了錯誤提示PLS-00306
--在這個地方需要注意的是使用PUT_LINE函數,由於dbms_output函數的參數本身並不支持boolean型,因此給出了錯誤提示
--下面是PUT_LINE函數參數的描述
SQL>descdbms_output
PROCEDUREPUT_LINE
ArgumentNameTypeIn/OutDefault?
-------------------------------------------------------------------
AVARCHAR2IN

可以通過調用dbms_sqltcb_internal包中i_convert_from_boolean函數來實現,調用時應具有相應的許可權。
SQL>DECLARE
2v_boolBOOLEAN;
3BEGIN
4v_bool:=TRUE;
5DBMS_OUTPUT.put_line('Firstly,v_boolis'||sys.dbms_sqltcb_internal.i_convert_from_boolean(v_bool));
6v_bool:=FALSE;
7DBMS_OUTPUT.put_line('Next,v_boolis'||sys.dbms_sqltcb_internal.i_convert_from_boolean(v_bool));
8END;
9/
Firstly,v_boolisTRUE
Next,v_boolisFALSE

PL/.

也通過函數來返回布爾型
FUNCTIONbool2char(boolINboolean)RETURNvarchar2IS
BEGIN
IFboolTHENRETURN'TRUE';
ELSIFNOTboolTHENRETURN'FALSE';
ELSERETURN'NULL';ENDIF;
END;

SQL>DECLARE
2v_boolBOOLEAN;
3
4FUNCTIONbool2char(boolINBOOLEAN)
5RETURNVARCHAR2IS
6BEGIN
7IFboolTHEN
8RETURN'TRUE';
9ELSIFNOTboolTHEN
10RETURN'FALSE';
11ELSE
12RETURN'NULL';
13ENDIF;
14END;
15BEGIN
16v_bool:=TRUE;
17DBMS_OUTPUT.put_line('Firstly,v_boolis'||bool2char(v_bool));
18v_bool:=FALSE;
19DBMS_OUTPUT.put_line('Next,v_boolis'||bool2char(v_bool));
20v_bool:=NULL;
21DBMS_OUTPUT.put_line('Finally,v_boolis'||bool2char(v_bool));
22END;
23/
Firstly,v_boolisTRUE
Next,v_boolisFALSE
Finally,v_boolisNULL

PL/.-->Author:RobinsonChengBlog:http://blog.csdn.net/robinson_0612
熱點內容
5歲編程 發布:2025-02-05 04:06:21 瀏覽:648
jdk17linux64位 發布:2025-02-05 04:01:01 瀏覽:466
人臉驗證演算法 發布:2025-02-05 03:54:45 瀏覽:358
解壓驛站 發布:2025-02-05 03:54:44 瀏覽:598
php系統下載 發布:2025-02-05 03:54:43 瀏覽:143
android相機圖片 發布:2025-02-05 03:54:09 瀏覽:842
php小票列印機 發布:2025-02-05 03:42:00 瀏覽:613
vivo安卓手機如何連接藍牙耳機 發布:2025-02-05 03:40:30 瀏覽:957
youtubeapp緩存 發布:2025-02-05 03:33:10 瀏覽:747
vc遍歷文件夾 發布:2025-02-05 03:33:09 瀏覽:479