ホームページ > データベース > mysql チュートリアル > 使用dbms_lob.compare比对lob字段

使用dbms_lob.compare比对lob字段

WBOY
リリース: 2016-06-07 16:01:22
オリジナル
1901 人が閲覧しました

以前写了一个通过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;
/
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート