標籤:SQL Server 預存程序預存程序類似函數,可以重複使用。相對於函數,預存程序擁有更強大的功能和更高的靈活性。預存程序中可以包含邏輯控制語句和資料動作陳述式,可以接受參數,輸出參數,返回單個值或多個結果集。預存程序帶來的好處:1、效能的提升 預存程序執行時,第一次會進行編譯和最佳化。但批處理T-SQL語句每次執行都需要先行編譯和最佳化,所以沒有預存程序快。2、易於維護
標籤:SQL Server 自訂函數在SQL Server中不僅可以使用系統函數(如:彙總函式,字串函數,時間日期函數等)還可以根據需要自訂函數。自訂函數分為純量值函式和資料表值函式。其中,純量值函式用於返回單個值,而資料表值函式用於返回一個結果集。函數參數參數可以是常量、表中的某個列、運算式或其他類型的值。在函數中有三種類型的參數。1、輸入:指必須輸入一個值。2、可選值:在執行該參數時,可以選擇不輸入參數。3、預設值:函數中預設有值存在,調用時可以不指定該值。建立
標籤:SQL Server 觸發器觸發器是一種特殊的預存程序,只有當試圖用資料操作語言DML來修改資料時才會觸發,DML包含對視圖和表的增、刪、改。觸發器分為DML觸發器和DDL觸發器,其中DML觸發器會對資料表,視圖進行insert、update、delete的時候觸發。DDL則是create、alter、drop等時觸發。DML觸發器又分為after(之後觸發)和insert
標籤:SQL Server 行轉列在SQL Server 2005中PIVOT 用於將列值轉換為列名(行轉列),在SQL Server 2000中是沒有這個關鍵字的 只能用case語句實現。--建立測試資料庫use mastergoif ( exists (select * from sys.databases where name = ‘webDB‘) ) drop database webDBgocreate database webDB on primary(
標籤:SQL Server複製出錯文章集錦為了方便大家對資料庫複寫過程中出錯的時候更好地解決問題本人收集了SQL Server相關複製出錯解決的文章 The process could not execute ‘sp_repldone/sp_replcounters‘ on ‘ServerName‘ 瀟湘隱者事物複製遇到的幾個錯誤 萬劍齊發一個事務複製的bug--更新丟失 續 stswordman複製中發行伺服器和訂閱伺服器內容不一致的解決辦法
標籤:電腦作業系統是Win10中文版,新裝的英文版SQL Server 2008,純預設安裝,沒有做任何改動。裝完SQL Server 2008之後,發現只能用預設的機器名來登入:如果用127.0.0.1登入就會報出如下的錯誤:在網上查詢一番之後,發現讓開啟SQL Server Configuration Manager中的Named
標籤:SQL Server 視圖什麼是視圖?視圖是一個虛擬表,內容來源於查詢的結果集。只有當視圖上建立了索引後,才會具體化。視圖可以篩選和處理資料,而不是直接存取基礎資料表。如:建立一個視圖,只展示源表中的幾列資料,無需授予使用者訪問基礎資料表的許可權,取而代之的是授予視圖存取權限。為什麼用視圖?1、如果是比較複雜的多表聯查,可以將這些複雜的語句放在視圖中完成,而我們只需要使用簡單的語句查詢檢視即可。2、保護基礎資料表,敏感列無法被檢索出。3、對視圖添加索引,可以提高效率。建
標籤:自從用了EF後很少寫sql和預存程序了,今天需要寫個比較複雜的報告,翻出了之前的筆記做參考,感覺這個筆記還是很有用的,因此發出來和園友分享。1、case...end (具體的值)case後面有值,相當於c#中的switch case注意:case後必須有條件,並且when後面必須是值不能為條件。-----------------case--end---文法結構---------------------select name , --注意逗號 case level --case後跟條件