| | | 0 | | 11,269 |
今天遇到的隨堂測驗,考題如下: SQL Server有一資料表,其中Records欄為XML型別,其中包含多筆記錄,目標要將記錄展開成多筆查詢結果: .xmljoin-tab td { padding: 3px; } 001 Jeffr...
| | | 0 | | 46,784 |
傳入字串或數字陣列當作篩選參數是很常見的SQL查詢情境,例如: 使用者在UI勾選取10項類別代碼,希望從Products資料表找出這10類的所有產品,轉換成SQL語法,相當於SELECT * FROM Products WHERE CategoryId IN (1,3,8,...,215)。 ...
| | | 16 | | 52,434 |
在我原本狹隘的SQL知識裡,Deadlock發生情境需要兩個Process A與B跟兩個Table X與Y搭配演出: A鎖定住X想更新Y,B鎖定Y等著要更新X,產生無解的僵持,再由SQL二者擇一選為犠牲者,令其失敗來成立另一個Process。 直到最近處理一起Deadlock案例,才又長了見識...
| | | 4 | | 35,991 |
過去已有很多在SQL 2005/SQL 2008建立Oracle Linked Server的經驗,本屬稀鬆平常小事,今天第一次在SQL 2008 R2 x64執行,發現有些眉角,特筆記之。 需安裝64位元版Oracle Provider for OLE DB 明明機器每天在...
| | | 5 | | 33,634 |
最近遇到的小需求,要計算資料表中某一數字欄位所佔百分比,例如: ItemId GroupId CostAmt ------ ------- -------- X1000 A 50 X1001 A 250 X1002 A 200 X1003 ...
| | | 3 | | 8,492 |
想把SQL Server上的Stored Procedure/User-Defined Function的內容存成檔案備存。 利用INFORMATION_SCHEMA.ROUTINES檢視查詢,就可以調出所有的SP/UDF資訊,唯一要留意的地方是ROUTINES檢視用來存放SP/UDF的ROU...
| | | 0 | | 8,514 |
一段使用很久的程式今天忽然出錯,追查原因,是一段古早寫的FOR XML查詢出了問題。 程式用SqlCommand執行"SELECT ... FROM ... FOR XML RAW('Boo’)”,最近因資料異動,結果傳回超長的字串,透過SqlDataReader讀取時,只得到最前端...
| | | 4 | | 26,750 |
在查SSMS的Intellisense為何失效時,無意看到demo的介紹文,發現好物一枚—dbForge SQL Complete! 好東西的推薦文永遠不嫌多,故特別PO文一篇介紹給讀者朋友們周知。 dbForge的構想與SSMS 2008相同,就是在輸入T-SQL時給予提示及自動完成,但...
| | | 11 | | 27,382 |
切入主題前,先感謝網友小言在留言中分享了SQL 2008 TVP(Table Value Parameter,資料表值參數),一個我差點錯過的好物。 過去遇到要從程式端塞大量資料到資料庫的場合,我慣用的伎倆手法不外乎產生INSERT Script與BULK INSERT這兩招,坦白說都挺麻煩的...
| | | 0 | | 9,889 |
接觸ORACLE之前,玩過好一陣子的SQL,對Serializable隔離等級的認知是: 在隔離範圍內,所有讀取資料的動作都會產生鎖定,將資料保護起來避免外界更動 雖然Serializable隔離等級的代價高昂,對效能殺傷力極大應盡量避免,但因其執行邏輯簡單不易出錯,還是會有其適用時機。 以下是...
| | | 5 | | 20,666 |
過去累積不少MSDTC的茶包處理經驗,也想出了用Mini C# Lab測試MSDTC的技巧。原本射MSDTC茶包還算得心應手,但最近又踢了鐵板,學到新的心得: SQL 2008啟動分散式交易的時機改變依過去的研究心得,只要不是用同一個SqlConnection物件執行查詢,即便連線字串完全相同,...
| | | 1 | | 7,858 |
同事報案: 在SQL 2008 R2使用Oracle Provider for OLE DB建立Linked Server,執行SELECT * FROM ORASVR1..SCHEMANAME.TABLNAME時出現以下錯誤: The OLE DB provider "OraOLEDB.Or...
| | | 17 | | 21,565 |
在設計查詢介面時,下拉式選單是很常見的條件選取方式,而往往我們都會再加上一個"不限條件"選項,允許使用者不限制條件,列出所有項頁。舉例來說: 在設定查詢地區的下拉選單(例如: ddlArea),除了列出基隆市、台北市、台北縣、桃園縣...等各縣市Option外,常會再多一個"所有地區"選項,將Op...
| | | 1 | | 10,564 |
今天處理到一個需求,要在SQL 2005中用Table1 JOIN Table2,Table2中有個XML欄位,裡面有多筆資料,JOIN時要用Table1的某個欄位當條件在XML中挑出特定XmlNode。 聽起來很模糊對吧? 我用來實例來比喻,假設有個Player資料表跟Team資料表,Team資...
| | | 10 | | 15,362 |
同事詢問關於Procedure內是否會自動包成Transaction的問題,我的認知是SQL要額外下SET XACT_ABORT ON,但Oracle則預設會自動包成Transaction。記憶有些模糊,所以索性做個實驗最準。 分別在SQL, Oracle寫了Procedure,先塞入兩筆資料,第...
| | | 14 | | 25,079 |
昨天的文章發表後,有兩位網友提到了DataContext是否要加using的議題。 我接觸LINQ to SQL是由Scott Gu的這幾篇文章開始入門的,在他的範例中沒有特別提到using,我也自始就忽略DataContext有實做IDispose這件事。雖然用using包住絕對有益無害(只...