sql serve儲存過程

2021-09-02 16:45:29 字數 1217 閱讀 3754

儲存過程

一.概念:預先編譯好的sql程式,可以包含:運算元據、變數、控制語句,增刪改查操作都可以,儲存過程是儲存在資料庫中 的乙個物件。

二.好處:

1.安全性更高

2.減少了網路流量

3.提高速度,效能更高

4.模組化程式設計

三、分類

1.系統儲存過程:由資料庫建立的,「sp_」開頭,常用的系統儲存過程:

(1)sp_helpdatabases;列出所有的資料庫

(2)sp_helpdb:列出指定的資料庫資訊

(3)sp_help:列出指定的表的資訊

(4)sp_helptext:列出指定物件文字資訊

2.擴充套件儲存過程:

由其他語言建立,完成資料庫以外的功能,以「xp_」開頭,以dll檔案形式存放

3.使用者自定義的儲存過程

使用者在自己的資料庫中建立的

四、建立儲存過程

create proc 儲存過程名

@引數1 資料型別, --預設表示輸入引數

@引數2 資料型別 output,--表示輸出引數

@引數3 資料型別=值 --新增預設值,也叫可選引數

assql 語句

1.無引數:create proc 儲存過程名

as sql 語句

呼叫:exec 儲存過程名

2.帶輸入的引數

create proc 儲存過程名

@引數1 資料型別,

@引數2 資料型別=預設引數

as sql 語句

呼叫:exec 儲存過程名 引數值1,引數值2,引數值按照位置給儲存過程中的引數傳值

exec 儲存過程名 引數值1,第二個引數取預設值

exec 儲存過程名 @引數2=引數值2,@引數1=引數值1,指定引數名方式呼叫,引數順序可以是任意的

3.帶輸出的引數

create proc 儲存過程名

@引數1 資料型別,

@引數2 資料型別 output--輸出引數

as sql 語句

呼叫:exec 儲存過程名 引數值1,@變數 output

輸出引數從儲存過程中向外傳值,呼叫時傳遞乙個變數,要有output

4.有返回值的

creeate proc 儲存過程名

assql 語句

return 整型資料(0或者1)

呼叫 exec @變數=儲存過程名

5.錯誤處理

將Session值儲存於SQL Server中

一般情況下,我們喜歡使用session儲存我們的變數。asp.net提供了下面一些方法儲存session的值 inproc state server sql server inproc 表示我們使用傳統asp一樣的方法儲存session的值,而且 state server 則表示使用另外一台主機來儲...

用SQL統計SQLServe表儲存空間大小

當sqlserver資料庫越來越龐大,而其中的表有非常多的時候,想要知道到底是哪些表最耗儲存空間,到底該怎樣統計各個表的儲存大小呢?其實sqlserver提供了乙個sp spaceused的系統儲存過程可以實現該功能,下面就是呼叫的sql table tb 表名 sysname,記錄數 int 保留...

SQLServe錯誤整理

1.sql拒絕訪問?提示sql serve不存在或訪問被拒絕 sql server does not exist or access denied.a 1 你如果是獨立上網的請把21埠開啟.區域網把1433埠開啟就可以了.2 關閉防火牆 b 把資料庫連線的 sqllocalname local 的 ...