發表文章

目前顯示的是 9月, 2012的文章

Stored Procedure和 UDF (User-Defined Function)的不同

Stored Procedure(預存程序)和 UDF (User-Defined Function 自訂函數)的不同 (翻譯自 此處 ) ●Procedure能回傳0或n個值 ; function強制回傳一個值 ●Procedure的參數可以指定INPUT/OUTPUT ; function的參數只能當INPUT(無法指定OUTPUT) ●Procedure可以使用各種DML statements ; function只允許使用SELECT(不能更改資料庫的狀態以及內容) ●Function可以被Procedure呼叫使用 ; Procedure不能被Function呼叫使用 ●以try-catch區塊作例外處理可用於Procedure ; 不可用於Function ●Procedure可以作transaction(交易)管理 ; Function不行 ●Procedure不能包在SELECT執行 ; Function可以嵌在SELECT內使用 ●UDF(User-Defined Function)可以用在 WHERE/HAVING/SELECT 等SQL陳述式內  Stored procedures則不行 簡而言之, stored procedure一般用在單純的「執行動作」 而function則多用於各種陳述式內使用(例如system預設的Avg()函數即是如此使用) function的使用率可能較高, 會不自覺的用在各種地方 stored procedure則是讓programmer可以方便的運作各種動作使用 不用再多編寫好幾次類似的陳述式段落

SQL server 2005 附加資料庫錯誤 5123 or 3906 解決法

SQL Server 2005 附加資料庫失敗 錯誤5123 或 錯誤3906 的 解決法 : 1.用檔案總管一類的去對著要加入的資料庫檔案點右鍵, 安全性 點下去 2.把 權限全部打開 ,不一定看到的使用者就沒問題,可能要 新增"Users"並添加權限   (我的狀況是要增加Users...大概是因為電腦使用者並不算administrator    因為公司這台是已經配好的電腦使用者權限, 我不清楚實際狀況    不過這樣看來, 原來我是Users不是Administrator...XD) 3.搞定, 已可正常附加(如果之前是3906的狀況,並添加了唯讀資料庫,請重新附加)