用sql,shell来描述生活中要电话号码的几个场景(r6笔记第99天)

作者: admin 分类: 公众号存档            2 次浏览 发布时间: 2015-10-25 23:35

公众号:杨建荣的学习笔记 · 作者:杨建荣 · 发布:2015-10-25 23:35:27 · 原文链接

很久之前听过一个小笑话,现在搜不到了,大体的意思如下,是某个朋友问一个大学同学要另一个同学的电话号码
#场景1
A:你知道老王的电话号码吗?
等待了5分钟
B:知道
A心中一丝喜悦
A:那能把他的电话号码发给我吗?
等待了10分钟
B:好的
后面省去几十字

本来是个小笑话,但是联系起生活来,还是蛮有意思,有些朋友比较熟了,可以直接要,有些朋友不太熟,还得寒暄一下,有的可能就见过一面,还得报个家门,然后继续要。
可能这个过程本身很简单,但是整个交流的过程还是饶有趣味。值得好好推敲一下。
比如上面的这个场景,算是两个逗比朋友的对话,可以用sql这么表示。
先声明一下电话表有很多,成千上万
select count(*)from mobile_list;
99999999
然后使用下面的sql来查询。
select mobile_num
from mobile_list
where name=’老王’
and exists(select mobile_list from mobile_list )
亮点在于exists字句,里面始终在做无用功。

#场景二
在来一个一般性的对话,先带点寒暄
A:Hi
B:Hi
A:最近怎么样?
B:还可以啊
A:问你个事情
B:恩
A:老王的电话号码你知道不?
B:哦,知道啊,稍等
B:189xxxxxxxx
A:谢谢
B:不客气

可以用pl/sql这么表示
begin
getResponse_From_B boolean;
if(getResponse_From_B(‘Hi’))
then
if(getResponse_From_B(‘最近则么样’))
then
if(getResponse_From_B(‘王总的电话号码你知道不’))
then
if(getResponse_From_B(‘谢谢’)
then dbms_output.put_line(‘对话结束’);
end if;
end if;
end if;
end;
/
可以用shell这么表示
if test -n $寒暄 -o test -n $扯淡
then
ask_mobile(‘王总’);
fi

#场景三
如果说关系好一些,或者同事关系,可以直接要电话,就不寒暄了。
A:老王的电话给我发一下,赶紧的
B:189xxxxxxxx
SQL>select get_mobile(‘王总’) from dual;
189xxxxxxxx

或者用shell来表示
grep -w “老王的电话” mobile_list
189xxxxxxxx

#场景四
如果关系不够熟络,那么还得报一下家门,但是开门见山直接要电话。
A:我是xxxx,那次吃饭坐在你对面的兄弟,我想问一下王总的电话,给我发一下
B:哦,好的。189xxxxxxxx
这种感觉就有点类似下面的情形
scp getMobile.sh 10.2.1.3:/home/oracle
ssh 10.2.1.3:”ksh /home/oracle/getMobile.sh”

#场景五
还有一种可能着急,直接电话过去,然后过一会儿收到一条信息,里面就是电话号码
A电话B
B:189xxxxxxxx

这种感觉就有点类似
echo ‘189xxxxxxxx’

admin

杨建荣,《Oracle DBA工作笔记》《MySQL DBA工作笔记》作者,dbaplus社群发起人之一,腾讯云TVP,现任竞技世界系统部经理,拥有十多年数据库开发和运维经验,目前专注于开源技术、运维自动化和性能调优

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注