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

jeanron100發表於2015-10-25
很久之前聽過一個小笑話,現在搜不到了,大體的意思如下,是某個朋友問一個大學同學要另一個同學的電話號碼
#場景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'

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-1816239/,如需轉載,請註明出處,否則將追究法律責任。

相關文章