Rumah > pangkalan data > tutorial mysql > 使用dbms_lob.compare比对lob字段

使用dbms_lob.compare比对lob字段

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-07 16:01:22
asal
1944 orang telah melayarinya

以前写了一个通过dbms_lob.getlength来比对lob长度的脚本,后来通过实践发现有点问题,发现很多长度一样的lob但是内容可能不一样,oracle目前只有使用dbms_lob.compare来比对lob字段,但是这个有个局限就是不能使用dblink来比对两个库的lob,下面是一个举例

以前写了一个通过dbms_lob.getlength来比对lob长度的脚本,后来通过实践发现有点问题,发现很多长度一样的lob但是内容可能不一样,oracle目前只有使用dbms_lob.compare来比对lob字段,但是这个有个局限就是不能使用dblink来比对两个库的lob,下面是一个举例脚本,通过两张表tb1和tb2通过主键id来进行lob的比对

如果发现lob不一致,则打印出id号

. /home/oracle/.bash_profile

sqlplus -silent test/test <<EOF
set serveroutput on
set pagesize 0 feedback off verify off heading off echo off

Declare
CURSOR c1 is select id from test.tb1;
varC1 blob;
varC2 blob;
ln number(4);
Begin
for v1 in c1 loop
select data into varC1 from test.tb1 where id = v1.id;
select data into varC2 from test.tb2 where id = v1.id; 
ln := DBMS_LOB.Compare(varC1,varC2);
if ln <>0 then
DBMS_output.put_line(v1.id);
end if;
end loop;
End;
/
Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan