| 百敬's profile偶有所得PhotosBlogLists | Help |
|
July 03 bugCREATE TABLE [t2]( [TableItemID] [int] NOT NULL, [FileID] [int] NOT NULL, [UniqueId] [uniqueidentifier] NOT NULL, CONSTRAINT [PK_TranslationRecord] PRIMARY KEY CLUSTERED ( [TableItemID] ASC, [FileID] ASC )) --新增紀錄 DECLARE @i INT=1 WHILE @i<300 BEGIN INSERT t2 VALUES(@i,@i,NEWID()) SET @i+=1 END --以下查詢會有 Bug,每次執行的結果會不同 SELECT UniqueId,TableItemID FROM t2 WHERE UniqueId<>NEWID() AND TableItemID<5 例如第一次執行得到如下的結果 UniqueId TableItemID ------------------------------------ ----------- 76047B41-4B2F-4E23-BC9D-B830E2F8E13A 1 140BD20D-7F4C-40C4-999E-C56DAEDBF09E 2 E429ACE3-C940-4DF5-991C-9FFD3E91BF33 4 第二次卻變成 UniqueId TableItemID ------------------------------------ ----------- 76047B41-4B2F-4E23-BC9D-B830E2F8E13A 1 E429ACE3-C940-4DF5-991C-9FFD3E91BF33 4 每次執行的結果居然會不同 應是 NewID() 被呼叫兩次,而每次形成的範圍都不同,這執行計畫有問題... 若資料表結構非如此、查詢條件沒有 and…,造成執行計畫不同,都不會有問題 或是改以變數查詢 declare @u uniqueidentifier=newid() SELECT UniqueId,TableItemID FROM t2 WHERE UniqueId<>@u AND TableItemID<5 答案即為正確的 UniqueId TableItemID ------------------------------------ ----------- 76047B41-4B2F-4E23-BC9D-B830E2F8E13A 1 140BD20D-7F4C-40C4-999E-C56DAEDBF09E 2 554C585F-778A-4981-A86E-40D254EB6B26 3 E429ACE3-C940-4DF5-991C-9FFD3E91BF33 4 感謝文陽和宛君提供這個 Bug July 02 關渡憶往無意間發現一篇自己4年前的文章,留在此,讓未來老年的我有甜美故事可以緬懷,讓白頭老翁可以話當年,免得消失在硬碟海中。
15 年?好像切換幻燈片一般,昨日背上爬的孩子們今日並肩談笑風生。還記得背著他們在天主堂滿場跑的日子,再見面已各自擁有一片天。 印象中福利會的中途之家是大女孩(寶瑩、憶菁與榕榕)與小男孩的園地,義工環境裏男性奇貨可居。因此在寶瑩的邀請下,隨著她從光鹽愛盲轉戰到中途之家當義工。我去過一兩次新店中途,只記得是個小小孩和大小孩一起哭鬧的環境,而後就幫忙寶瑩、憶菁與一群大小孩搬家到關渡中途,在一片混亂中整理出家園。 那是一段奇特的日子,從輔大騎機車到關渡,陪小男孩玩大地遊戲,聽大女孩們訴說生活中的點滴。印象中,自己憑著過人的體力可以同時追逐五六個小朋友,或是背負三四個小朋友笑鬧嬉戲,替小男生們的日常生活裡增添一點男性的陽剛野蠻。 雖然衣食無虞,但七天 24 小時全年無休的陪伴,在小男孩們闖禍不斷的情境下,我可以感受到寶瑩與憶菁的無力。每個小男孩背後都有著破碎的家庭,與一段令人同情的故事,或許是不捨,抑或是熱情;還是堅持?她們努力了三年。 愛心讓這個故事綿延,在當時,她們沒有任何專業背景,只有在挫折中成長。依稀記得有專業背景相關科系畢業的輔導員都做不久,或許專業讓工作是工作吧。而中途之家需要的是共同生活,是孩子們人生的一步,需要的是真心對待,而不是朝九晚五的工作人員。 就自己而言,記憶中,那是一段無力與不知道未來的日子,因為專業與社會資源不足。而每個年齡層的孩子都需不同的教養方式,隨著孩子們一天天成長,從幼稚園的中途、國小的中途、到國、高中的中途。在當時,我們期待有前瞻性的規劃,而不是摸石子過河,然而環境卻是讓人沮喪的。 還記得最後見到全部小朋友是在花蓮,他們一起過簡樸生活。原本就經不起繁華誘惑的小朋友們,如何能在匱乏的生活中甘之如飴。離開花蓮之前,正巧碰到上國中的帶著一群國小的孩子們在偷吃外邊買來的食物,我只能疾言厲色地告誡一頓,就返回台北。而後再見面,居然是 15 年後。 有緣能見證一段用愛心播種的故事已是福份。15 年後大夥兒的聚首,讓自己在忙與盲的心中泛起了一片暖意。 HDMI在整合電視、擴大機、DVD Player和電腦時,才發現 HDMI 規格真好用,直接串起所有影音,且全是 Full 1080P HD。由於藍光的DVD不普及,也不想讓小朋友繼續沉溺電視遊樂器,我不想整合藍光 DVD 和 PS3 或 XBox360。 聽從 Derrick 的建議,利用 Acer 的 1L PC http://shopping.pchome.com.tw/?mod=item&func=exhibit&IT_NO=DGAH05-A41206944&SR_NO=DGAH2L&ROWNO=1(另有 Linux 規格,便宜 3400,但除掉贈品和硬碟規格差異後,大概要付給 MS 1~2 千的 Vista OS 費用,畢竟自己受惠於 MS 太多,還是買 Vista 版)加上數位電視棒後,當作一般無線電視訊號的來源。我決定停掉有線電視,以避免小朋友終日念念不忘電視。而這台PC就當作其他影音的整合處,我的數位相機、DV和各種電腦影音資料可以匯流了,透過無線網路 802.11N 應該有不錯的傳輸。PC 一旦 Plug And Play HDMI 後,會自動將影音訊號轉給擴大機,很方便。 Yamaha RX-V 665 擴大機有 4 HDMI IN,1 HDMI OUT,在整合 DVD 和 PC 等影音源時真好用,它會留下聲音,把影像輸給電視。 電視有 4 個 HDMI 輸入,讓我有更多的選擇。 有趣的是這些影音家電會透過 HDMI 彼此交換資訊,還一起開關機。 以往,等一個規格,從謠傳到正式有產品,急急去買後,總是整合不良,效率不佳。而今 HDMI 已經出來好久了,自己都視而不見。等要整合家電時,才發現它已經到處都是。這是個有趣的經驗。 猶如在組 IT Solution 時,以往規格不多,選擇貧乏,拼拼湊湊。現今各種技術繁盛,第一次接觸,就可選擇容易組裝的產品,讓不是玩家的我很滿意。淺嘗了一個領域的規格,進入到另一個領域時,又是劉姥姥進大觀園。 在現今科技社會,若醉心於資訊,及其衍生技術,驚喜將連綿不絕。自己成長的過程僵固了創意,無緣發明的樂趣,感謝有組 solution 的機遇,這讓我高興不已。
PS. 感謝巧玫提供了 HDMI 規格解說的 Link: http://www.oc.com.tw/article/0607/readgoodarticle.asp?id=5341 http://www.oc.com.tw/article/0607/readgoodarticle.asp?id=5342 June 25 多個前端應用程式需同時取到唯一編號後,新增到另一個資料表以往需包在交易內,先更新一筆記錄後,再以 Select 查詢傳回,以兩句語法加上交易取得唯一序號,現在可以透過 Output 子句一句話完成 改自 TechEd 2009 US DAT313 的 Slide --建立測試用資料表 USE tempdb --產生唯一編號的資料表 --存放唯一序號的資料表 --透過預存程序新增資料
--另一種解法
--測試用的 Batch,存檔成 TestBatch.sql USE tempdb
最後以命令提示列的批次檔測試,批次檔內容如下: start sqlcmd -E -i TestBatch.sql -vBatchNo=1 執行結果如下 偶有所得 |
||||
|
|