当前位置:首页 » 编程语言 » 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
热点内容
人脸验证算法 发布: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
怎么设dns服务器地址 发布:2025-02-05 03:31:57 浏览:758
访问服务器文件夹 发布:2025-02-05 03:29:38 浏览:38