oracle数据库为什么需要监听?

oracle数据库为什么需要监听?,第1张

说的直白些,监听就是公布数据库的门牌号码,服务器地址就是所在的城市小区名,serviceid就是具体的哪个屋子,端口就是有几个门可以进你家。监听服务就是你的管家,他会实时呆在门口,如果有人到你家的话,会先按门铃,然后你的管家就会问些问题,主要是访问者住哪(访问者的ip),然后管家会根据监听配置信息看看访问者是不是上了黑名单,如果上了黑名单,管家就不会开门,如果没有,管家开门放访问者进来,接着就是保安的活了,保安会问访问者的用户、密码,如果错误,乱棒打出,正确了,你就可以参观屋子了,当然这是由权限的,哪间屋子让参观,哪间屋子里的东西可以拿走是由权限控制的,这个已经和监听无关了。

总之一句话,如果没有监听,别人就不会找到你。

因为不知道你的黑名单表名,所以我暂且认为黑名单表表名为black_list

得到在黑名单表中号码的存储过程如下:

create or replace procedure get_black_list(i_type in varchar2,

i_black_list in varchar2,

o_black_list out varchar2) is

cursor get_black_list_cur(t_type black_list.type%type,

t_black_list varchar2) is

select phone

from black_list

where type = t_type

and phone in (t_black_list)

v_phone black_list.phone%type

begin

o_black_list := NULL

for black_list_rec in get_black_list_cur(i_type, i_black_list) loop

v_phone := black_list_rec.phone

o_black_list := o_black_list || ',' || v_phone

end loop

if o_black_list is not null then

o_black_list := substr(o_black_list, 2, length(o_black_list))

end if

end get_black_list

得到不在黑名单表的存储过程如下

create or replace procedure get_black_list(i_type in varchar2,

i_black_list in varchar2,

o_black_list out varchar2) is

cursor get_black_list_cur(t_type black_list.type%type,

t_black_list varchar2) is

select phone

from black_list

where type = t_type

and phone not in (t_black_list)

v_phone black_list.phone%type

begin

o_black_list := NULL

for black_list_rec in get_black_list_cur(i_type, i_black_list) loop

v_phone := black_list_rec.phone

o_black_list := o_black_list || ',' || v_phone

end loop

if o_black_list is not null then

o_black_list := substr(o_black_list, 2, length(o_black_list))

end if

end get_black_list


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10068111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存