目錄
一、簡介
二、例項
1.不帶引數的儲存過程
2.資料查詢功能不帶引數的儲存過程
3.帶有輸入引數的儲存過程
4.求階乘之和
5.帶有輸入引數的資料查詢功能的儲存過程
6. 帶有條件判斷的插入功能的儲存過程
7.儲存過程的自動執行
8. 監控儲存過程
建立儲存過程sql server建立儲存過程:
create procedure 過程名
@parameter 引數型別
@paramater 引數型別
asbegin
end執行儲存過程
execute 過程名
create procedure proc_sql1
asbegin
delclare @i int
set @i = 26
while @i <1
begin
print char(ascii('a') + @i) + '的ascii碼是:' + cast(ascii('a') + @i as varchar(5))
set @i = @i +1
endendexec proc_sql1
輸出結果:
1 a的ascii碼是: 972 b的ascii碼是: 98
3 c的ascii碼是: 99
~~~~~
26 z的ascii碼是:122
create procedure proc_sql2
asbegin
select * from employee where salary > 2000
endexecute proc_sql2
在儲存過程中可以包含多個select語句,顯示姓名中含有「張」字的職工資訊及其所在的倉庫資訊
create procedure pro_sql3asbegin
select * from employee where name like '%張%'
select * from warehouse where warehouseno in (select warehouse from employee where name like '%張%')
endgoexecute pro_sql3
找出三個數字中最大的數
create proc proc_sql4
@num1 int,
@num2 int,
@num3 int
asbegin
declare @max int
if @num1>@num2
set @max = @num1
else
set @max = @num2
if @num3 > @max
set @max = @num3
print '3個數的中最大的數字是:' + cast (@max as varchar (20) )
endexecute proc_sql4 3 , 4 ,5
alter proc proc_sql5
@datasource int
asbegin
declare @sum int ,@temp int, @tempsum int
set @sum = 0
set @temp = 1
set @tempsum = 1
while @temp <= @datasource
begin
set @tempsum = @tempsum * @temp
set @sum = @sum + @tempsum
set @temp = @temp +1
endprint cast ( @datasource as varchar(50) ) + '的階乘之和為:' + cast (@sum as varchar(50))
endexecute proc_sql5 5
create proc proc_sql6
@minsalary int,
@maxsalary int
asbegin
select * from empolyee where salary > @minsalary and salary< @maxsalary
endexecute proc_sql6 8000,10000
create proc proc_sql7
@id varchar(30),
@deptno varchar(30),
@name varchaer(50),
@*** varchar(10),
@salary int(10)
asbegin
if exists (select * from employee where id = @id)
print 『該員工號已經存在,請輸入正確的id』
else
begin
if(exists (select * from dept where de))
使用sp_procoption系統儲存過程即可自動執行乙個或者多個儲存過程,其語法格式如下:sp_procoption [@procname=] 'procedure', [@optionname=] 'option', [@optionvalue=] 'value'
各個引數含義如下:
[@procname=] 'procedure': 即自動執行的儲存過程
[@optionname=] 'option':其值是startup,即自動執行儲存過程
[@optionvalue=] 'value':表示自動執行是開(true)或是關(false)
sp_procoption @procname=
'masterproc'
, @optionname=
'startup'
, @optionvalue=
'true'
利用sp_procoption系統函式設定儲存過程masterproc為自動執行
可以使用sp_monitor可以檢視sql server伺服器的各項執行引數,其語法格式如下:sp_monitor
該儲存過程的返回值是布林值,如果是0,表示成功,如果是1,表示失敗。該儲存過程的返回集的各項引數的含義如下:
*last_run: 上次執行時間
*current_run:本次執行的時間
*seconds: 自動執行儲存過程後所經過的時間
*cpu_busy:計算機cpu處理該儲存過程所使用的時間
*io_busy:在輸入和輸出操作上花費的時間
*idle:sql server已經空閒的時間
*packets_received:sql server讀取的輸入資料報數
*packets_sent:sql server寫入的輸出資料報數
*packets_error:sql server在寫入和讀取資料報時遇到的錯誤數
*total_read: sql server讀取的次數
*total_write: sqlserver寫入的次數
*total_errors: sql server在寫入和讀取時遇到的錯誤數
*connections:登入或嘗試登入sql server的次數
資料庫5 SQL初識,DDL學習
基本表索引 定義刪除 sql structured query language sql是一種介於關係代數和關係演算之間的結構化查詢語言。功能 分類 特點 其中 模式 要建立模式,呼叫該命令的使用者必須擁有dba許可權,或者獲得了dba授予的create schema的許可權。語法 sql大小寫不敏...
SQL資料庫 儲存過程基礎知識
什麼是儲存過程 儲存過程由什麼來呼叫 儲存過程的優缺點 儲存過程和觸發器的區別 部分 演示 儲存過程是乙個預編譯的sql語句,優點是允許模組化的設計,就是說只需建立一次,以後在程式中就可以呼叫多次。如果某次操作需要執行多次sql,使用儲存過程比單純sql語句執行要快。可以用乙個 execute 儲存...
資料庫儲存過程基礎
1.建立簡單的儲存過程 create proc proc name as select from syscolumns where object name id crm customer 2 執行儲存過程 exec proc name 3 刪除儲存過程 drop proc proc name 4.帶...