| | | 0 | | 11,269 |
今天遇到的隨堂測驗,考題如下: SQL Server有一資料表,其中Records欄為XML型別,其中包含多筆記錄,目標要將記錄展開成多筆查詢結果: .xmljoin-tab td { padding: 3px; } 001 Jeffr...
| | | 16 | | 52,417 |
在我原本狹隘的SQL知識裡,Deadlock發生情境需要兩個Process A與B跟兩個Table X與Y搭配演出: A鎖定住X想更新Y,B鎖定Y等著要更新X,產生無解的僵持,再由SQL二者擇一選為犠牲者,令其失敗來成立另一個Process。 直到最近處理一起Deadlock案例,才又長了見識...
| | | 5 | | 33,632 |
最近遇到的小需求,要計算資料表中某一數字欄位所佔百分比,例如: ItemId GroupId CostAmt ------ ------- -------- X1000 A 50 X1001 A 250 X1002 A 200 X1003 ...
| | | 0 | | 8,514 |
一段使用很久的程式今天忽然出錯,追查原因,是一段古早寫的FOR XML查詢出了問題。 程式用SqlCommand執行"SELECT ... FROM ... FOR XML RAW('Boo’)”,最近因資料異動,結果傳回超長的字串,透過SqlDataReader讀取時,只得到最前端...
| | | 4 | | 26,746 |
在查SSMS的Intellisense為何失效時,無意看到demo的介紹文,發現好物一枚—dbForge SQL Complete! 好東西的推薦文永遠不嫌多,故特別PO文一篇介紹給讀者朋友們周知。 dbForge的構想與SSMS 2008相同,就是在輸入T-SQL時給予提示及自動完成,但...
| | | 1 | | 10,747 |
要快速把資料庫掛上另一台SQL Server,我最常用的作法是複製mdf檔案過去,再直接Attach上去。不過,後續在新SQL上建立與原SQL相同帳號並設定權限的過程,常會遇到以下錯誤訊息: Microsoft SQL-DMO (ODBC SQLState: 42000) 錯誤 15023...
| | | 17 | | 21,564 |
在設計查詢介面時,下拉式選單是很常見的條件選取方式,而往往我們都會再加上一個"不限條件"選項,允許使用者不限制條件,列出所有項頁。舉例來說: 在設定查詢地區的下拉選單(例如: ddlArea),除了列出基隆市、台北市、台北縣、桃園縣...等各縣市Option外,常會再多一個"所有地區"選項,將Op...
| | | 1 | | 10,564 |
今天處理到一個需求,要在SQL 2005中用Table1 JOIN Table2,Table2中有個XML欄位,裡面有多筆資料,JOIN時要用Table1的某個欄位當條件在XML中挑出特定XmlNode。 聽起來很模糊對吧? 我用來實例來比喻,假設有個Player資料表跟Team資料表,Team資...
| | | 10 | | 15,361 |
同事詢問關於Procedure內是否會自動包成Transaction的問題,我的認知是SQL要額外下SET XACT_ABORT ON,但Oracle則預設會自動包成Transaction。記憶有些模糊,所以索性做個實驗最準。 分別在SQL, Oracle寫了Procedure,先塞入兩筆資料,第...
| | | 2 | | 21,804 |
今天要設定Windows 2008防火牆使用SQL分散式交易,查資料時發現了檢測MSDTC連線的新工具--DTCTester。 簡單來說,它是用以取代DTCPing的改良版。主要優點是只需在Client執行,不像DTCPing得在Client,Server都跑互連,而且由於它會真的連線SQL Se...
| | | 0 | | 7,594 |
同事手上有一台測試性質的SQL Server,經手褻玩的人頗多,又常進行一些SQL測試。交往複雜之下,這種香爐型的環境一旦發起狠來,往往讓射手們為之膽寒。 今天遇到的狀況是同事要為機器改名(是想重新做人嗎? 呵),SQL機器改名SOP中應執行sp_dropserver/sp_addserver的...
| | | 11 | | 69,152 |
手動對資料庫下指令是一件恐怖的事,稍一操作不慎,就有可能把整個系統給毁了。 理論上,吾人應該極力避免手工更動資料這等可恥行徑。只要系統考慮得夠周詳,預先料想到所有可能出現的詭異狀況,一一提供相關的介面,經過程式邏輯檢查後才對資料進行處置或修正,不可能出現需要手動改資料的狀況。這是一個好的系統應...
| | | 3 | | 20,900 |
今天看到保哥一篇關於LINQ to SQL分頁問題的文章,裡面有一段範例是利用'User ' + cast(cast(rand() * 100 as int) as varchar(3))的技巧連續執行十次產生十筆測試用的資料。 這讓我想起之前在做CSV字串分割成陣列UDF時意外學到的技巧,可...
| | | 1 | | 12,144 |
直接把CSV轉成可以直接SELECT內容的SQL函數? 我肖想好久了,今天終於動手把它寫出來了。 我原本參考一篇Google到的文章,其中的CTE完全用SELECT搞定的寫法很酷,我曾嘗試改為Table Variable放入UDF,但測試結果不理想,速度慢了一倍(五萬次 22秒 vs 10秒)...
| | | 0 | | 8,961 |
最近跟SQL的Hotfix很有緣,話說為了因應KB956391會造成SSRS無法列印報表的問題,跟同事逐一為手上的SQL及SSRS主機上Patch。 不過,其中一台SQL升級時卻遇到SP2無法安裝的情況,依據提示,查看了C:\Program Files\Microsoft SQL Server\9...
| | | 18 | | 30,365 |
上回貼出Windows Update導致SSRS不能列印問題後,有些網友成功了,但似乎有些網友依循文章的解法SP2->GDR2依然不能解決問題,裝完後RSClientPrint.cab仍未更新。由於手邊沒有可以驗證的同樣情境,我想深究也無從嘗試。 今天同事在更新一台SQL時,同樣的情境上...