儲存過程
一.概念:預先編譯好的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 的 ...