检查数据链是否存在的办法

需要写一个存储过程需要检查数据链路是否已创建,但在网络上并没有找到相应的办法,后来自己研究找到了这个办法,分享给大家

select substr(db_link,1,INSTR(db_link,'.',1,1)-1) dblink_name from user_db_links

用以上语句可以直接查询出当前用户已建立的数据链路,这样就可以进行具体细节的操作了

当然,也可以写成如下函数来进行判断

	--检查数据链是否存在
	function is_dblink_exist(v_dblink_name in varchar2) return boolean
	as
		n_tab_count number default 0;
		b_result boolean default false;
	begin
		select count(1) into n_tab_count from user_db_links where substr(db_link,1,INSTR(db_link,'.',1,1)-1)=upper(v_dblink_name);
		if n_tab_count > 0 then
			b_result := true;
		end if;
		return b_result;
	exception
		when others then dbms_output.put_line('is_dblink_exist 错误:'||sqlerrm);
		return false;
	end is_dblink_exist;


你可能感兴趣的:(Oracle)