相信大家看過了 「 SQL Server 2008 HierarchyID 」這篇文章,應該對於 HierarchyID 資料型態有些許的了解。但是當我們每次輸入資料時,都必須撰寫這麼複雜的T-SQL語法,實在很不方便。
所以使用 HierarchyID 通常都會搭配預存程序,這樣程式開發人員就不需要了解整個的架構,使用起來也比較方便。
以下沿用「 SQL Server 2008 HierarchyID 」的範例,介紹五個比較常用的預存程序。
以往使用關聯式資料庫建立、維護階層式資料(例如檔案架構、組織階層)都是透過子查詢以及自我關聯(self join)的方式呈現各階層的節點值,並於查詢語法內計算該節點屬於第幾階層,以及每個節點的路徑。即使設計是簡單的,但查詢它可不是件容易的事情。例如:1.找出某個僱員的所有下屬,2.算出僱員在公司裡的級別,等等。
SQLServer2000用戶使用基於游標或臨時表的方法來寫這些查詢。雖然簡單,卻犧牲了易維護性和性能。
SQLServer2005提出了一個巧妙的方法:在T-SQL裡使用CTE。CTE允許你寫遞歸查詢。CTE對於用表來呈現樹形結構有了很大的改進,但也留下了一些問題。查詢複雜度降低了,但是性能呢?即使優化了CTE的執行計劃,你也可能處於可能沒有索引的境地。
SQL Server 2008 HierarchyID 資料型態:
由 SQLCLR UDT 實做的特殊資料型態,透過該資料型態可讓儲存與查詢階層式資料更容易。當同一階層內,節點有先後順序的關聯性時,HierarchyID 資料型態最為適合。另外,HierarchyID 資料型態的值會以極度壓縮的方式存於欄位中。
階層式資料索引策略:
深度優先搜尋(Depth-First-Search):
是沿著樹的深度瀏覽樹的節點,如果發現目標,則演算法中止,屬於盲目搜索。這類演算法可用於:尋找資料夾及其子資料夾中的所有檔案,或是搜尋某位經理所帶領的員工及其下屬有幾位。
廣度優先搜尋( Breadth-First Search ):
會先從根節點開始,沿著橫向的寬度瀏覽各節點,如果發現目標,則演算法中止。廣度優先會將資料列與階層的每個層級儲存在一起。例如,直屬相同經理的員工記錄彼此會儲存在附近。
以下使用一個簡單的範例,來說明 HierarchyID 。
以下摘錄至商業週刊 第1091期
一群投資銀行交易室的數學天才,創造一個無中生有的金融商品——連動債;他們享有千萬年薪的奢華,投資人卻換來家破人亡的絕境。理財專員信誓旦旦「保本、保本」,本錢拿得回來,「財富管理」聽起來總是高尚、時髦;結局卻是,為什麼財富沒了?理專手上沒有刀槍,卻能致人於死地!
這是國內第一次,外商投資銀行前高階主管出面揭發連動債不為人知的黑幕。
「他(交易員)的工作是賺錢,而且是不管別人死活的賺錢,」摩根大通前交易部門副總裁何佩玲指出,設計連動債的都是投資銀行裡天才中的天才,只要客戶有一個帳戶,「就可以一直玩他,玩到他沒有東西可以玩為止。」
她口中的外商銀行交易室設計連動債的一群人,買遊艇、買七、八十萬元的名表、收集豪宅。年薪以二十五萬美元起跳,百萬美元年薪的比比皆是。而國內買了連動債的投資人,總體受影響金額,據金融業估計可能高達一兆二千億元。
他們像是一群冷血殺手,他們獵取一批批獵物讓自己盡情享樂,對於別人的家破人亡可以完全視若無睹,這樣的銀行還是我們以往手牽手走向富裕、最受信任的夥伴?
一場超完美坑錢計畫……數學鬼才被包養設計連動債
這是國內第一次,針對全球金融海嘯做的「金融機構信任度調查」。
根據《商業周刊》與TVBS民調中心合作的調查結果顯示,台灣民眾有四六%的人不信任外商銀行,也就是有約八百零三萬人不信任外商銀行。有透過理專進行理財的人,四三%不信任現在的理專,在購買基金、連動債和投資型保單的民眾中,三成五的人不知道自己買了什麼商品。
更有高達六成台灣民眾擔心發生本土金融風暴,顯示台灣民眾已經出現金融信心危機。
過去三、四年,是一個充滿魔鬼的世界。一場超完美坑錢計畫,由國外投資銀行交易室、國內銀行負責人、財富管理理財專員、投資人串起來的連動債騙局;由魔鬼擔任導演,貪婪當作劇本,以投資人傾家蕩產當作演出這一場劇的片酬。而銀行則是將「毒品」一口一口的餵到投資人口中。
十月九日的午後,何佩玲一身素衣和我們碰面,雖然她已經離開摩根大通四年,對於這次連動債所造成投資人的慘劇,仍然心懷不安。一層層的圈套究竟是怎麼形成的?
何佩玲娓娓道來:
連動債這個商品是由投資銀行設計出來,我賣給local(地區)銀行,local銀行再賣給消費者,所以他們(指local銀行)能夠賺的其實只是中間的那個手續費而已,真正的肉是在投資銀行的手上,所以你看投資銀行交易室的人可以領那麼高的薪水,就是因為我們設計出這種東西來。
(我們)八個人賺的錢是整個銀行的三分之一耶。能夠進交易室的人,都是又聰明又會念書,根本是天之驕子才有辦法進交易室,很多人都是那種數學鬼才,他們開始去想這些東西(指連動債),所以其實這些東西是create(創造)出來的。投資銀行就是直接到學校找那種數學天才,真的像包養一樣,之後他就是專門幫他們設計。
而create的意思就是無中生有。它是很數學的東西,然後再加上一個財務工程,這兩個match(結合)在一起變成一個。加上全球化,所以(推得動)是天時地利人和。
真的,那跟人類需要一點關係都沒有,所以到後來我就是覺得說,哇,我真的是在做一種興風作浪的事,世界上沒有我們,這個世界會更好,世界因為有我們會亂,所以我就做不下去了(笑)。
像我們那些人太厲害了,投資人沒有能力算,投資人七%、八%(利息收入)他就很開心了,如果我可以去找到一個東西灌到三○%(收益),我還是賣他七%、八%,我(指投資銀行交易室)不是中間就可以賺二三%(編按:指二十三個百分點)?
銀行只賺固定的手續費,理專也只能賺手續費,所以我們這些人可以拿那麼高的薪水。而且別人根本不知道我們在幹什麼,因為我們做的事情已經超越大家的習慣。而且人做久這種事情是沒有道德觀的,在這些人的觀念裡,因為我比你聰明,我比你厲害,所以你們理論上就是要被我砍。所以才會說他是一個人吃人的,玩這件事的人完全不會有憐憫心,不會有慈悲(笑)。
那些(投資銀行)CEO必須要跟他的股東負責,這些年輕孩子可以幫他賺這些錢,他也怕他跑走,去別家賺這個錢,所以就把他們養得好好的,他讓他們下不來,就是他出入都習慣坐好車子、吃好東西、坐飛機也是坐商務艙、頭等艙,住飯店都是住最好的。像我以前出去,我吃東西刷卡是沒有預算的,說實在,我要幹嘛就幹嘛,人在這種情況久了,沒有辦法換其他的工作啊。
他就把你寵壞,我怎麼可能去做一份工作一個月三萬元?
像香港、新加坡或者紐約,那個更誇張了,那個真的是紙醉金迷,像是台灣的交易室我就有聽過說,一到發bonus(分紅)的時候,那個交易室的頭頭,就帶他們去那種高級的手表店,來!大家買,大家就比啊。神經病一只表花了五、六十萬或者上百萬的。然後還有聽說,發完bonus去買遊艇的。
台灣的交易室交易員,他過慣這種日子你叫他怎麼可能(離開),那是一種毒品哪,那是一種毒啊。
對,他就是要把你綁住。其實有一個心理理論,人的行為會改變人的心理,當我做習慣這種事情時,我會把我的道德觀修正,去合理化我做的事情,我才能夠做得下去。
我連我自己家的股票明天要漲還跌我都不知道,哇,怎麼我們台灣的投資人可以去trade(交易)一個什麼債,什麼北海布蘭特原油的一個什麼指數,還能夠預測說它幾年之內不會在哪裡變,哇,這個比投資銀行的分析師還要厲害。
我們很少看到一個人說,啊我賺這麼多,唉呀,不好意思我夠了。所以人只要有一個貪婪的心,他一定就會玩到把這個東西玩死,才會罷手。就像有石油就會挖,沒有,他才會停。遲早會出事,因為人從來不知道什麼時候會自己踩煞車。而且有時候是你想停,你老闆不讓你停啊。你老闆想停,他的同業不讓他停啊。就好像大家一起從山坡上滾下來這樣子。
(記者問:這個產品可以得最佳創意獎?)
最佳造孽獎(笑)。所以你想想看一個無中生有的東西,怎麼會不出事嘛。那是一個illusion(假象),所有的東西它都是應該一個蘿蔔一個坑,相對應的,它就不會出事。這個東西它沒有對應基礎的。
因果是最科學的,你怎麼可能種一個玫瑰花的種子,會長出一個蓮霧呢?不可能啊。所以是一個貪婪的種子種下去,它絕對是一個貪婪的結果。
就是因為投資銀行是一件真不好的事,所以要有這麼多的錢,去把這個人污染、催眠了,他(指交易員)才能夠做。
這些人已經沒有良心了。因為在他們的價值觀裡,他已經把他做的事情完全合理化了。他們不願意退的理由是什麼?他們養成那種習慣了啊,就好像吸過毒。就是吃鴉片嘛。
十七個破碎家庭……為了賺六%,卻賠了五十%
摩根大通不是唯一,他甚至是這波華爾街金融海嘯中最穩健的銀行生存者,更多的是如貝爾斯登、雷曼兄弟、美林……,這樣的投資銀行,為了更高的暴利,發行大量連動債,槓桿倍數「玩」到不可控制,最後公司破產、被合併。
十月八日晚上六點半,雙十節長假的前夕,原本是家人團聚的日子,在台北車站二樓,微風美食廣場的一個角落,有十七個破碎家庭的失意人聚在一起。他們原本互不相識,是連動債造成的家庭悲劇,把他們的命運鎖在一起。
「你知道銀行多可惡嗎?連我腦瘤開刀的錢都騙走了。」說話的人是因為腦部開刀而臉部扭曲的黃小姐,她投了六百萬元,買了七檔連動債,現在只剩下三分之一的錢;有退休軍人三百萬元的退休金,一半被連動債吞噬。
退伍上校游先生在網路上發起的連動債受災戶自救會,成立五個月來,會員已近五百人。這個自救會受災戶中,投資連動債金額,少則三十萬元,多則上億元,五百人的受害損失加起來粗估十五億元。而這個金額只是這次國內被波及金額的千分之一。
「你怎麼會想成立這個自救會?」我問自救會長游先生,「你難道不知投資是有風險的嗎?怎麼可能有商品可以保證一定賺,是不是太貪心了才會賠錢?」
上校退伍的游先生,用軍人宏亮的口氣說:「對!貪,我承認我是貪!我買連動債,理專說是固定利率六%,我是貪圖這個比郵局定存利率高不到三%(編按:指三個百分點)的利潤。銀行理專跟我說,連動債是定存,是債,又保本。在我的理財常識裡,定存最安全,債又是最安全的,比股票還安全,而且又是到期保本。沒想到我拿銀行六%利息,結果到期本金只剩不到一半。我為了賺六%,要虧五○%,這個對價關係也差太多了吧?」
「利用我們的信任,賣給我們不實商品。」游先生大喊說:「銀行根本就是領有合法執照的詐騙集團。」
超過二十萬個連動債的受害者,共同的心聲:「還我錢來!」
三個不該買連動債的老人……全都面臨退休金索賠無門的晚年
為了更真實反映連動債投資人向銀行求償的溝通過程,《商業周刊》派出了三組人馬,分別從國內銀行中現有連動債檔數最多的台新銀行、中國信託、台北富邦銀行中找到受災戶,貼近現場看他們與銀行的互動。
請問台新金控董事長吳東亮:為什麼要拿我的退休金開玩笑?
七十一歲的黃先生是台肥新竹廠的退休員工,只有高中學歷的他,花了快一半的退休金,買五萬美元(約合新台幣一百六十萬元)的「反而有利」連動債。理專傅小姐告訴他有個「比定存利率高、卻極保守的金融商品」,因此就買下五萬美元。
九月十五日雷曼兄弟宣告重整,第二天早上九點鐘,他急忙打電話給理專,但理專只回答他:「雷曼兄弟重整,美國法令有一百二十天閉鎖期,所以要等到四個月後才知道能拿回多少。」他已經整整一個月吃不下飯,雖然台新銀行民族分行就在他家附近,但他連走路五分鐘的時間也不願意,因為理專的反應,讓他明白到銀行講再多,也沒用。
請問富邦金控董事長蔡明忠:根本不知道發生什麼事,為什麼近一百萬元進去,只剩三十萬元出來?
十月九日下午三點零五分,高齡八十一歲喬伯伯的女兒,第三次來到台北富邦銀行安和分行,她的父親在去年七月十三日,買了三萬美元(約合新台幣九十七萬元)的「穩操勝算2」連動債,現在淨值僅剩三○%。
這三萬美元是他僅剩的退休金、養老本,他聽取理專柯小姐的建議,而理專柯小姐年初已離職。
喬伯伯的女兒找上銀行理論,三點半,《商業周刊》記者與她坐在銀行大廳,鐵門已拉下一半,櫃台前沒有客人,那些坐在櫃台後面的人或低頭,或走動著,數鈔機在噴錢,一張張鈔票發出彼此撞擊的聲響,不知為何特別大聲,但人跟人的視線沒有交集。
一個小時後,喬小姐為父親等到北富銀的李潔足督導,雙方仍舊爭執不休。最大爭議點之一是,喬伯伯所做的「KYC問卷:客戶投資問卷暨投資風險承受度測試分析紀錄表」中,婚姻狀況、子女數、教育程度、服務單位、職稱、職業別都呈現空白,問卷內容中,這位八十一歲、手邊僅有三萬美元畢生積蓄的老人,竟勾選自己是「極端高風險接受人」,對投資價值的起伏,要超過五成才會開始感到不安。
台北富邦銀行表示,喬先生的風險承受度選擇經他個人確認無誤,並非銀行擅自所為。
請問中信金控董事長辜濂松:為何號稱保本,卻連我的退休金都慘賠七成?
十月十三日上午十一點,六十九歲的李伯伯走進中國信託天母分行,要找當初賣他連動債的理專陳小姐,恰巧陳小姐休假,中信銀由分行經理許庭毓出面接待。「你們沒有告知不保本,」「我當初沒有簽KYC表(客戶投資與風險承受度測試表),理專自己也承認。」李先生看到經理,劈頭丟出五、六個問題。分行經理只說:「都由總行接手,我們會反映您的問題。」其他的時間,都在點頭、聆聽。李先生的怒氣就像打在棉花糖上,使再多力氣也只顯得無奈。
三家不同銀行,三個不同場景,三個不適合買連動債的老人,卻都出現同一個結果:索賠無門。
現金卡殺人事件翻版! 銀行獲利暴增,代價是投資人埋單
五年前,《商業周刊》製作過一個封面故事「現金卡殺人事件」。當時,銀行為了衝刺消金業務,濫發現金卡以至於造成卡奴自殺的社會問題。
五年後,連動債儼然成了現金卡殺人事件的翻版。
由前財政部長林全、次長楊子江等人成立的中華民國財金智慧教育推廣協會,理事周杏娟不解的說:「銀行自詡為高尚的服務業,但是服務品質比一般的3C賣場還不如,賣場還有七天不滿意退貨,以及免費售後維修服務保證,而銀行呢?銀行的服務保證在哪裡?」
周杏娟說:「連動債的問題,銀行負有道德責任,現在如果不討論銀行的道德責任,大家看著好了,五年後還會發生另一個連動債風暴,銀行永遠不會進步。」
利字當頭!「說穿了,就是銀行銷售連動債的手續費收入,比過去一般的共同基金還要高上一倍。」周杏娟分析,理專銷售共同基金的手續費一‧五%,還要打折,通常一%不到,而連動債的手續費是二%,是賣共同基金的兩倍,而且連動債的單筆金額高,對銀行、理專來說,連動債的利潤比賣共同基金高。
國內前三大連動債銷售機構,去年共賣出超過一千八百億元,中信銀近千億元、北富銀五百億元、台新銀三百億元,這樣的績效也反映在去年的獲利表現。
三年前因應雙卡風暴呆帳提列,而連續兩年虧損的台新銀行,在去年憑著財富管理獲利成長二○○%的表現,一舉轉虧為盈。
相對穩健的北富銀,去年財富管理獲利成長一二○%,貢獻年度獲利達三成。
國內財富管理龍頭中信銀,表現更為驚人。中信銀原本二○○六年虧損超過一百億元,但二○○七年光是財富管理的獲利就逼近百億水準,占全年獲利近五成。
這樣的獲利暴衝表現,讓這三大財富管理龍頭在今年初,紛紛喊出加碼理專銷售部隊。中信銀要在七百七十個理專上,預計再增八百人,台新銀將上看一千五百人,而北富銀則要從原有的七百名理專,再一口氣增加一千人,挑戰業界最大理專銷售部隊,與中信銀一別苗頭。
然而,銀行衝獲利的代價是由連動債投資人埋單;銀行轉虧為盈,投資人卻賠了一屁股。
黑心商品無法可管! 歐美都立法規範,台灣還在放任
中央大學財金系副教授邱慈觀,就因為自己買了連動債而有近七位數字的虧損,激起他了解連動債的緣由。他翻閱世界各國法規與現況後,大嘆一口氣的說:「連動債這東西真是毒啊!」
這樣的黑心商品,毒到挪威今年五月才剛剛明文禁止在市場上販售連動債,而美國、歐盟都已經明白的法條,做強力的規範,只有台灣的金管會,還在交由銀行公會、信託公會等民間機構做自律公約。
邱慈觀說,台灣金管會目前的做法,就像衛生署任由毒牛奶上架開買,由賣毒牛奶的單位憑良心通報自己賣的牛奶有沒有毒?問題是,「賣這些商品的銀行,怎麼會說自己賣的商品有毒呢?」
從事理專教育訓練的財富管理培訓中心執行長曾志堯估計,目前國內理專人數在三萬人之譜。平均每家銀行給每一個理專每月手續費門檻,在四十萬元左右,也就是每天至少要有兩萬元手續費進帳,才能過得了銀行的績效門檻。
六十八年次,淡江財務金融系畢業的陳先生,是國內連動債銷售量前三大的銀行理專,九月四日辭掉年薪三百萬元的理專工作,重回學校念書。
陳先生說:「我覺得我當個理專不是在管理客戶的資產,我比較像是電視購物的銷售員,每一檔連動債來了,就趕快打電話給客戶,叫客戶要買要快。」
陳先生過去三年半的理專生涯,賣出金額兩億元的連動債,手續費收入四百萬元,位居該銀行理專前一百名,但他實際拿到的績效獎金約三十五萬元。
「每晚,主管要求我們留在銀行進行角色演練,有人扮演理專,有人扮演客戶,大家透過實際演練,加強自己的銷售話術。」
理專其實也是輸家! 昧著良心賣東西,吃安眠藥度日
這就是銀行理專下班後,待在銀行這座金色巨塔所做的事,他們不是研究市場、不是研究給客戶最好的建議,而是研究如何將商品賣給客戶,取得手續費。
陳先生的理專生活,只是國內各銀行理專的翻版。
「不管行情有多差,不管股市有多慘,銀行就是要我們去賣商品,永遠是樂觀看待行情,沒有建議客戶看空的權利。」今年三十歲,去年十二月底,辭去連動債銷售量超過兩百檔的民營銀行理專鄭小姐說:「銀行總是在最熱門的時候賣最熱門的連動債,為了業績而叫客戶買,客戶一跳進去就套牢,」「我不想昧著良心去賣東西。」
鄭小姐與其他理專同事,因為受不了良心煎熬,只好私下互相傳遞安眠藥吃,甚至有人去看心理醫生。「理專與投資人都是輸家,只有銀行是最後的贏家。」鄭小姐感嘆的說,現在銀行客訴事件越來越多,銀行的第一反應往往是指責理專不當銷售,這樣的態度終於讓她離開這個年薪兩百萬的工作。
在銀行追求手續費的導向下,「理財專員」這個工作,慢慢的跟「連動債」一樣,好像成了台灣民眾印象中的「黑心商品」。
連動債殺人事件,每個環節受害程度不一樣,但是共同的心魔:貪!
投資銀行:大貪失去良知。為了賺大錢,放任華爾街金童設計出需要幾台電腦才足以運算的商品,因為謀取私利,挖了一個個坑讓投資人往下跳,最後玩火自焚。
商業銀行:為了賺小錢,利益薰心,販賣不該由散戶投資的連動債,賠上銀行信譽。
理財專員:為了賺取更微薄的手續費,達到銀行績效壓力,出賣信任自己的客戶。
散戶投資人:小貪卻大無知。貪圖比定存高的利息,買了一個自己永遠搞不懂的金融商品,最後自己的錢怎麼賠掉的都不知道。
貪婪,使人鋌而走險,使用衍生性金融商品賺取報酬引發的悲劇,最經典的案例,為「曾經」是全球最大保險集團的AIG(美國國際集團)。
這家全球最大保險航空母艦擁有新台幣三十四兆元資產,過去十年利用衍生性金融商品賺取高獲利,忽略了風險,今年十個月時間不到,整個保險帝國瀕臨破產,最後被自己的貪婪所吞噬。
問題是,這會是最後一次貪婪的遊戲嗎?
標籤: 財經議題
SQL 2005中有個CTE (Common Table Expression)功能十分強大,可以用來做遞迴式的參考,藉以達成複雜的查詢邏輯並簡化查詢指令,是 SQL2005的一個新的重要功能。在使用 MySQL 時,由於沒有查詢端的存取模型好用,所以分頁通常都由程式自己來,在查詢指令下 limit m,n後,即可將要指定的分頁資料傳回,不會浪費 Network IO 在傳遞資料上。在 SQL Server 2000之前要達成這樣的功能,通常是配合temp table並配合 identity 欄位達成,但是仍需要將所有資料從第一筆到第 n 筆寫入 temp table 後,再取 top 的方式來操作,效能仍舊不理想。
所以我們可以使用SQL Server 2005中的CTE (Common Table Expression) 搭配 行號函數 ROW_NUMBER()來達到目的。與 ADO.NET 的分頁做比較,不僅可以降低 Network IO 外,更能在複雜查詢時提升效能,減少不必要的資源浪費,對於網頁分頁使用時有很大的幫助。
例如:查詢訂單資料表(orders),依訂單金額由大而小排序,取出第301到第400筆資料:
範例程式碼如下:
標籤: SQL Server T-SQL
有一位教授
認為現在的人很容易安於現狀
總覺得這樣就好,可以過就好了
沒有"過更好生活"的想法
於是決定帶他的學生到一座貧窮的村莊去看看
他們找了一個人家
決定借宿一宿
一進到家中,學生們不敢相信有人是過這樣貧困的生活
不過後來他們發現原來這家人有一隻牛
這一隻牛支撐這家人的生活,擠擠牛乳等等
隔天一大早
教授和學生們趁主人們還沒醒來時
準備動身回去
這時教授將學生帶到那頭牛的旁邊
問學生說誰可以殺了這頭牛
學生全部錯愕,想說怎麼可以殺了牠呢
那這家人要如何生活
正當學生們在想時
教授拿出一把刀朝牛的喉部給割了下去
學生們全部都愣住了,無法理解教授為什麼要這麼做
之後教授就帶著學生離開了.....
一年後
他們再度回到這個村莊
學生想起去年的那件事,非常擔心那家人現在是如何生活
來到了當年的地點,發現那戶破舊的房子已經不見了
取而代之的是一個看來生活富裕的人家
心想他們是不是已經搬走了,後來這塊地被別人買走了
學生們敲敲這戶人家,
發現來應門的男主人竟然是去年那戶人家的男主人
學生們非常好奇的想知道這一年到底發生什麼事了
男主人說不知去年是哪個人竟然殺了我們家的牛
當時我真的絕望到了谷底,不知該如何繼續生活
不過我想想我還有妻兒,一定要找出一條路生存
於是把家中後院給整理一下,灑點種子種點菜
沒想到種出來的菜比我想像的還多,
於是我就把多餘的菜拿出來賣,
再把賺到的錢拿去買更多不一樣蔬菜的種子
沒想到我竟然能賺的比以前的還多
給妻兒過更好的生活
這時學生突然明白了教授為什麼要這麼做了
== 以下摘錄於 天下雜誌 ==
美國超人氣激勵大師卡密歐.克魯茲(Camilo Cruz)在最新暢銷書《誰殺了我的牛?》中藉著一則跟「殺牛」有關的小故事,將牛比喻為我們經常替自己找的各種藉口、理由,清楚闡釋「放任藉口主導人生」時可能發生的情況。作者指出,每個人實際擁有的牛比願意承認的還多,他以簡單而幽默的方式告訴讀者如何擺脫這些讓人表現平庸的惡習與念頭。
名叫「平庸」的敵人
有些人終其一生都不知道自己深受「牛」的羈絆;有人雖然知道,卻照樣關照餵養這些「牛」。為什麼?因為這些「牛」讓他們待在安適區,安然接受這些平庸的狀態。這些人自願把「牛」照顧好,以擺脫成功的責任,然後把自己的不幸怪到其他地方,對任何事情都有一番藉口。
如果突然失去了可以為自己的平庸辯解的藉口,我們就只會剩下兩種簡單的選擇:為自己的情況擔起完全責任並開始改變(成功),或者接受我們無法掌控人生的事實並且認輸(失敗)。
只剩改變或認輸這兩種選擇時,該選哪條路似乎就很明顯了。
平庸比失敗還糟,跌落谷底至少還可以迫使我們重新檢視環境,考慮其他選擇。平庸則不一樣,平庸的最大危險在於它是可容忍的,讓我們習慣成自然。在此分享我前些時候聽到的一個故事,剛好可以說明這點:
一名男子去拜訪老農夫,老農夫也是知名的獵人。男子一到農場,看到農夫的獵犬趴在中庭,看起來顯然不太舒服,好像有什麼事情困擾著牠,讓牠猛吠,不斷地哀嚎。男子看了這種情況幾分鐘以後,問農夫是什麼原因讓這隻可憐的傢伙那麼不舒服。
「別理那隻老狗,」農夫說,「這種情況已經持續好幾年了。」
「你帶牠去看過獸醫,看問題出在哪裡了嗎?」男子問。
「何必麻煩?我完全知道那隻狗怎麼了,牠不過是太懶而已。」
「但是那和牠的哀嚎有什麼關係?」
「他現在趴的地方,剛好有釘子穿過木板,刺到牠的腿,讓牠很不舒服。所以後來他每次趴在那裡,就會又吠又叫。」
男子睜大眼睛驚呼,「牠為什麼不乾脆換到其他地方?」
農夫說,「我想是那根釘子對牠造成的困擾還不夠大吧。」
你認識的人當中有人符合這種情況嗎?你自己呢?周遭是否有惱人的事物讓你始終無法過應得的生活?如果有,現在就下定決心採取行動,從此擺脫讓你無法享有真正滿意人生的「牛」。
一號牛:自我安慰
「我痛恨我的工作,但我不該抱怨了……,至少還沒失業。」「我的婚姻可能不是全世界最好的,但至少沒有天天吵架。」
一號牛的危險在於,認為自己還算不錯、甘於現況的人並不覺得有必要改善自己的生活。
二號牛:不是我的錯
「我無法成功是因為另一半不支持我做任何事。」「如果爸媽沒離婚,或許我的人生就不會亂成這樣了。」「我的事業無法成長是因為經濟太糟,政府可以多幫忙企業主就好了。」
應該殺掉這頭牛的最大理由是,如果對自己坦白,就會了解發生在身上的一切大多是自己造成的,跟父母、老闆、經濟環境或其他東西無關。即使是我們感受的負面情緒,也是自己造成的。美國小羅斯福總統夫人艾蓮諾的名言最能說明這點,「除非你同意,沒人能讓你感到自卑。」
三號牛:一切都是命
「我爸有酒癮,我想我也會步上他的後塵。」「我沒念什麼書,可能永遠也不會有多大成就。」
熱門影片「洛基」走紅後不久,飾演洛基的席維斯史特龍有次受訪,被問到其中一個場景。在那幕中,洛基說,「我那不太精明的老爸告訴我,我先天不是很聰明,所以最好善用身體。」
電影劇本是史特龍自己寫的,他坦承常聽父親講那句話。他接著說,有好一段時間,那個自我設限的想法讓他無法看清自己的潛力。當他不再相信那些話,開始相信自己後,人生也跟著改變了。
相信自己不過是認清自己的優點與天賦,接受它們,並開始運用。擺脫這種「牛」的解放感,可以讓你張開眼睛,看到意想不到的新機會。
四號牛:完美主義
「我準備好全心投入以前,不想先嘗試新事物。」「在我還不知道怎麼把事情做好以前,不想先動手。」
完美主義也是最糟的一種「牛」。理由很簡單:那是「牛」偽裝成想要的水準。經過裝飾後,完美主義看起來反而比較像美德,而不是壞習慣了。
「如果值得做,就應該把它做好,否則乾脆不要做,我就是這樣的人。」你聽過這句話嗎?誰能反駁呢?聽起來好像是種負責、致力、堅持卓越的感覺。問題是,對很多人來說,那也變成一種藉口。正確的說法應該是:「如果值得做,值得我們嘗試,那就做到對為止。」所以你應該儘快動手,從今天就開始。
五號牛:自覺無能為力
「我對那種事向來不在行。」「小時候就養成的壞習慣很難戒除。」
我們覺得自己受到的限制,大多是和個人能力有關的荒謬想法。
對於任何限制不要毫不質疑就照單全收。不能因為沒有試過,就假設自己對某件事不在行。我們都是從做中學習、獲得經驗。所以如果你想殺了這種「牛」,就必須去實踐。
六號牛:人生大道理
「關鍵不在輸贏,而是在過程。」「學問好不如人面廣,而我一個人也不認識。」
為了讓藉口聽起來不太像藉口,我們經常會竭盡所能地援引一些看似深奧的理論。
我認識一個人,他經常引用「學問好不如人面廣」這句話來解釋職場生涯的不順遂。他畢業以後從沒進修過專業課程,也從不主動參與工作以外的事物。他認為,自己一直原地踏步的原因是沒有跟對人。
這些觀點的最大問題在於,一旦認同這些觀點,通常就會以它們做為生活準則。因此,採納任何新的指導原則之前,都應該思考它的來源。你覺得那句話最初是誰先提出的?我猜應該不是贏家。這隻「牛」可說是平庸的最佳註腳。
七號牛:自欺
「我隨時都可以戒菸,只是還沒下定決心而已。」「我沒有超重的問題,況且胖一點比較討喜。」「我沒有辱罵孩子,那是愛之深,責之切。」
這些想法都欺騙我們相信自己真的沒問題,即使有問題也不嚴重,或是事情非我們所能掌控。這些藉口往往和我們不願戒除抽菸、飲酒或暴食等惡習有關。
以上這些「牛」都有一個共通點:讓我們陷入平庸。擺脫這些「牛」的第一步,是先從日常的用字遣詞中排除這些說法,這是我們可以掌控的,操之在己。
標籤: 管理哲學
在Oracle當中,Select…For Update會給予所查詢的資料鎖定(RX),當其他的Session執行相同的陳述式時,必須等待上一個Session交易結束之後,才會繼續執行。如果在SQL Server當中我們也希望能達到這樣的效果,我們應該怎麼做 ?
ORACLE:
Select…For Update語法,是用來鎖定特定的row,並給予這些row等級3的Row-X (RX)。
當這些row被鎖定後,其他session可以選擇這些row,但不能更改或刪除這些row,直到該語句的session被commit或rollback為止。
SQL SERVER:
共用鎖定(Shared Lock) (S)
當我們要查詢(SELECT)某筆記錄時,SQL Server 會嘗試先取得該記錄的共用鎖定(S),若無法取得,就必須等到別人釋放對該記錄某幾種與共用鎖定互斥的鎖定後,才可以在設定完共用鎖定後,取得該筆記錄。
獨占鎖定(Exclusive Lock) (X)
當要新增、修改、刪除每個資源時,需要先對該資源下獨占鎖定,保證資料更新的動作尚未完成時,不會被干擾。獨占鎖定會在開啟交易後,一直保留到交易結束為止。
更新鎖定(Update Lock) (U)
更新鎖定是一種中繼的鎖定。
當資源更新時所使用的模式。某一時刻對某一資源只能有一個交易可以獲得更新鎖定。如果交易確實作了修改,更新鎖定就轉為獨占鎖定;否則,轉為共用鎖定。
意圖鎖定(Intent Lock) (IS, IU, IX)
當該記錄要放上共用鎖定前,需要對存放該記錄的更大範圍設定 Intent Shared 鎖定,例如要對包含該記錄的分頁(Page)、資料表放上 Intent Shared 鎖定。以避免別的連線嘗試對該分頁下獨占鎖定。
舉例來說,當某個人在查詢某些資源時,會在該資源放上共用鎖定,而其他人若同時也要查詢這些資源,因為共用鎖定彼此不互斥,所以也可以再設定共用鎖定,也就是可以同時讀取。
但若有人在此時要嘗試更新資料,則會因為獨占鎖定與共用鎖定互斥,因此無法設定獨占鎖定,要等到所有讀取該資料的人都讀取完畢,釋放共用鎖定,則嘗試要更新的人才得以對該資源設定獨占鎖定,而後更新資料。
我們可以在撰寫T-SQL 語法時,加入鎖定提示(Lock Hint),控制所查詢的資源。
XLOCK:使用獨占鎖定並持有直到執行於陳述式所處理之所有資料的交易結束為止。
ROWLOCK:強制採用資料列層級鎖定,不允許自動升級成範圍較大的分頁與資料表層級鎖定。
TABLOCK:對資料表使用獨占鎖定,直到陳述式或交易結束為止。
READPAST:略過其他交易所鎖定的資料列。只能用於在「讀取認可」隔離等級中執行的交易。
如果我們要撰寫一個存取SQL Server的簡易元件,而我們希望這個元件有以下幾個功能:
1. 當執行SQL陳述式時,使用傳遞參數的方式,以防止SQL Injection的發生。
2. programer撰寫程式時,可以不必考慮資料庫連線等等問題。
3. programer可以傳遞自製的SQL語法,執行 insert,update,delete 等命令。
4. programer可以傳遞自製的SQL語法,查詢資料並回傳結果集。
5. programer可以自由選擇是否執行交易。
標籤: ADO.NET