儲存過程:就像函式一樣的
會儲存在資料庫中--》可程式設計性--》儲存過程
建立儲存過程: 儲存在資料庫表,可程式設計性,儲存過程
create proc jiafa
--需要的引數
@a int,
@b int
as--儲存過程內容
declare @c int;
set @c =@a + @b;
return @c;
go相當於乙個函式
public int 函式名 (變數1,變數2)
儲存之後可以直接呼叫,
執行儲存過程
exec 儲存名
有返回值時
declare @f int;
exec @f= jiafa 3,5;
print @f;
--例:在car表中查詢對應種類的車輛數目
--儲存過程
creat proc chaxun
@n varchar(20)
asdeclare @num int
select @num=coount(*) from car where name like '%'+@n+'%'
go--呼叫方法
declare @m int
exec @m=chaxun '奧迪'
print @m
觸發器:
是乙個特殊的儲存過程;
通過增刪改查的動作來觸發執行,沒有引數,沒有返回值;
儲存位置在要執行的表的下拉列表中
不去觸發不執行,滿足條件之後執行,相當於html中的事件
create trigger 觸發器名稱
insert_student --命名規範 動作_要執行的表名 為了以後更容易的了解觸發器要使用的情況
on student --針對於那張表
for insert --針對於那個動作來觸發
--onclick= "show()"
as觸發器要執行的**
go1、for的意思是在動作執行之後觸發
2、instead of delete 的意思是刪除之前的引發,可以理解為替代,寫了這個之後寫的**就沒有用了,就被觸發器的**覆蓋了
刪除存在外來鍵的表的內容時,需要先刪除外來鍵連線的表的內容
create trigger delete_info
on inf0
instead of delete
asdeclare @c varchar(20)
select @c =code from deleted
delete from work where infocode=@c
delete from family where infocode=@c
delete from info where code=@c
goinstead of的使用比for的頻繁
面試過程中問的比較多,但實際工作是用的比較少
sqlsever儲存過程
create procedure dbo procregisterflow pageindex int,pagesize int,sqllogiccode int output,sqllogicmsg varchar 1000 output,sqlerrorcode int output,sqler...
sql sever 儲存過程總結及實驗
定義 儲存過程是資料庫中的乙個功能,是一組為了完成特定功能 可以接收和返回使用者引數的t sql語句預編譯集合,經過編譯後儲存在資料庫中,以乙個名稱儲存並作為乙個單元處理。儲存過程儲存在資料庫內,可由應用程式通過乙個呼叫執行,而且允許使用者宣告變數 帶引數執行以及其他強大的程式設計功能。儲存過程在第...
SQL Sever 儲存過程的建立和執行
無參的儲存過程建立 create procedure pro test1 asbegin select from student where stuid 1 end 查詢儲存過程 exec pro test1 declare return value int exec return value db...