標籤:就是 不清楚 compile class 緩衝 簡單 函數 roc int
在公司天天寫Sql寫,預存程序,但是公司工具模板把建立的語句都寫好了,只負責寫裡面的邏輯,久而久之,建立語句都不會寫了。還有一些知識點都很模糊,平常使用的時候都不清楚,稀裡糊塗的就在用。在這裡整理一下。鞏固複習。
一.預存程序。
1.預存程序類似程式設計語言的裡面的函數,方法。將Sql語句封裝在裡面,方便調用。
2.首先看下建立無參數預存程序文法。
CREATE PROCEDURE MyProTestAS SELECT * FROM dbo.saUserGO
建立有參數的預存程序
CREATE PROCEDURE MyProTest( @ID INT=0)WITH ENCRYPTION /* { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]*/AS SELECT * FROM dbo.saUserGO
這個地方後面WITH後面跟的值要說明下
a.RECOMPILE 表明 SQL Server 不會緩衝該過程的計劃,該過程將在運行時重新編譯。在使用非典型值或臨時值而不希望覆蓋緩衝在記憶體中的執行計畫時,請使用 RECOMPILE 選項。
b.ENCRYPTION 表示 SQL Server 加密 syscomments 表中包含 CREATE PROCEDURE 語句文本的條目。使用 ENCRYPTION 可防止將過程作為 SQL Server 複製的一部分發布。 說明 在升級過程中,SQL Server 利用儲存在 syscomments 中的加密注釋來重新建立加密過程。 說白了就是就是對預存程序進行加密。這個我經常用,上面以惡就不經常用了,在這裡瞭解一下。
3.執行預存程序
EXEC dbo.MyProTest @ID=1
4.刪除預存程序
DROP PROC dbo.MyProtest
刪除文法簡單說一下。不管刪除表,還是預存程序,還是視圖,還是函數。刪除文法都是 Drop 關鍵字 +類型+名稱。
二.函數
SqlServer知識點