天天看點

用sql,shell來描述生活中要電話号碼的幾個場景

很久之前聽過一個小笑話,現在搜不到了,大體的意思如下,是某個朋友問一個大學同學要另一個同學的電話号碼

#場景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:老王的電話給我發一下,趕緊的

SQL>select get_mobile('王總') from dual;

189xxxxxxxx

或者用shell來表示

grep -w "老王的電話" mobile_list

#場景四

如果關系不夠熟絡,那麼還得報一下家門,但是開門見山直接要電話。

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

這種感覺就有點類似

echo '189xxxxxxxx'