關於Oracle大字段中儲存主鍵集合後的讀取問題

2021-09-09 08:54:05 字數 1368 閱讀 8728

業務場景:空間疊加分析計算當前專案範圍與底圖中哪些專案有重疊,求重疊專案明細。經過空間分析後,已經將重疊專案的主鍵儲存大字段中,以「,」為分割符。

create or replace view v_cdjc_kz as

select 「xmmc」,」pzsj」 from v_cdjc_kz_gcs2000 a

where a.keyid in

(select * from v_cdjc_get_coverkeyid

where p_cdjc_kz.set_orecid(p_cdjc_kz.get_orecid())=p_cdjc_kz.get_orecid());

create or replace view v_cdjc_get_coverkeyid as

select regexp_substr((select replace(to_char(b.coverkeyid),chr(39),』』)

from bd_dtcccdlb_file b

where b.orecid=p_cdjc_kz.get_orecid()),

』[^,]+』,

1,level) as str

from dual

connect by level <=

(select max(length(regexp_substr((select replace(to_char(b.coverkeyid),chr(39),』』)

from bd_dtcccdlb_file b

where b.orecid=p_cdjc_kz.get_orecid()),

』[^,]+』,

』』)))

+1 max token

from dual);

create or replace package p_cdjc_kz is

function set_orecid(receiveid varchar2) return varchar2;

function get_orecid return varchar2;

end p_cdjc_kz;

create or replace package body p_cdjc_kz is

orecid varchar2(100);

function set_orecid(receiveid varchar2) return varchar2 is

begin

orecid:=receiveid ;

return orecid;

end;

function get_orecid return varchar2 is

begin

return orecid;

end;

end p_cdjc_kz;

關於SQL中儲存單個分號字段

嘗試在sql中插入乙個帶有 的資料,比如 i m a boy 此時在向資料庫中insert時就會出錯!解決方案是 寫成如下方式 insert into tab values i m a boy 後來由於需要將資料庫進行遷移,需要讀取資料後,然後重新寫入資料,這個時候就需要將原語句中含有 的字段覆蓋成...

Oracle中儲存過程

1 建立乙個儲存過程 create or replace procedure pro name parameter1 parameter2 is as begin plsql sentences pl sql語句,儲存過程功能實現的主體 exception dowith sentences 異常處理...

oracle 抽取 對方大字段資料

在建設zyk中,經常遇到大字段的資料。1 建立和對方結構一致的臨時表 create global temporary table sjzyk clob temp id varchar2 10 clob 1 clob on commit delete rows 2 建設抽取方案 insert into...