You are on page 1of 2

Stored Procedure l m t nhm cu l nh Transact-SQL c bin d ch v c x l nh m t nv ch ng trnh c l p. Ch Procedure trong tn c a n ni ln t t c .

. Trong mySQL, cc store procedure c vi t v d ch nh ng sau bi t c CSDL c nh ng SP hay nh ng function no, ch c l ph i export file .sql c a n ra. Cn trong SQL Server, c th tm th y trong cy t ng ng v i CSDL (hi n gi Windows c at ang b l i nn h n lc khc s ch p ci nh cc SP trong database up b vo y.)

u i m C a Stored Procedure
Stored Procedure c m t s u i m chnh nh sau:

* Performance : Khi th c thi m t cu l nh SQL th SQL Server ph i ki m tra permission xem user g i cu l nh c c php th c hi n cu l nh hay khng ng th i ki m tra c php r i m i t o ra m t execute plan v th c thi. N u c nhi u cu l nh nh v y g i qua network c th lm gi m i t c lm vi c c a server. SQL Server s lm vi c hi u qu h n n u dng stored procedure v ng i g i ch g i m t cu l nh n v SQL Server ch ki m tra m t l n sau t o ra m t execute plan v th c thi. N u stored procedure c g i nhi u l n th execute plan c th c s d ng l i nn s lm vi c nhanh h n. Ngoi ra c php c a cc cu l nh SQL c SQL Sever ki m tra tr c khi save nn n khng c n ki m l i khi th c thi. * Programming Framework : M t khi stored procedure c t o ra n c th c s d ng l i. i u ny s lm cho vi c b o tr (maintainability) d dng h n do vi c tch r i gi a business rules (t c l nh ng logic th hi n bn trong stored procedure) v database. V d n u c m t s thay i no v m t logic th ta ch vi c thay i code bn trong stored procedure m thi. Nh ng ng d ng dng stored procedure ny c th s khng c n ph i thay i m v n t ng thch v i business rule m i. C ng gi ng nh cc ngn ng l p trnh khc stored procedure cho php ta a vo cc input parameters (tham s ) v tr v cc output parameters ng th i n c ng c kh n ng g i cc stored procedure khc. * Security : Gi s chng ta mu n gi i h n vi c truy xu t d li u tr c ti p c a m t user no vo m t s tables, ta c th vi t m t stored procedure truy xu t d li u v ch cho php user c s d ng stored procedure vi t s n m thi ch khng th " ng" n cc tables m t cch tr c ti p. Ngoi ra stored procedure c th c encrypt (m ha) t ng c ng tnh b o m t.

Phn lo i
Stored procedure c th c chia thnh 3 nhm nh sau: 1. System Stored Prcedure : L nh ng stored procedure ch a trong Master database v th ng b t u b ng ti p u ng sp_ . Cc stored procedure ny thu c lo i built-in v ch y u dng trong vi c qu n l database (administration) v security. V d b n c th ki m tra t t c cc processes ang c s d ng b i user DomainName\Administrators b n c th dng

? 1

sp_who @loginame='DomainName\Administrators'

. C hng tr m system stored procedure trong SQL Server. B n c th xem chi ti t trong SQL Server Books Online. 2.Local Stored Procedure : y l lo i th ng dng nh t. Chng c ch a trong user database v th ng c vi t th c hi n m t cng vi c no . Thng th ng ng i ta ni n stored procedure l ni n lo i ny. Local stored procedure th ng c vi t b i DBA ho c programmer. Chng ta s bn v cch t o stored prcedure lo i ny trong ph n k ti p. 3. Extended Stored Procedure : y l m t lo i stored procedure s d ng m t ch ng trnh ngo i vi (external program) v n c compiled thnh m t DLL m r ng ch c n ng ho t ng c a SQL Server. Lo i ny th ng b t u b ng ti p u ng xp_ .V d , xp_sendmail dng g i mail cho m t ng i no hay xp_cmdshell dng ch y m t DOS command... V d xp_cmdshell 'dir c:\' . Nhi u lo i extend stored procedure c xem nh system stored procedure v ng c l i.

C php

? 1 2 3 4 5 6 7 8 9

CREATE PROCEDURE tn_Th _t c --(danh_sch_tham_s ) [WITH RECOMPILE|ENCRYPTION] AS --cc cu l nh c a th t c

o o

o o

Tn_th _t c: ph i tun theo qui t c nh danh v khng v t qu 128 k t Danh_sch_tham_s : khai bo m i tham s t i thi u ph i bao g m hai ph n o Tn tham s b t u b i d u @ o Ki u d li u c a tham s RECOMPILE: th t c s c d ch l i m i khi c ch n ENCRYPTION: th t c s c m ha

Th c hi n th t c:

? 1

EXEC <tn SP>


i th t c(s a)

Thay

? 1 ? 1

ALTER PRO[CEDURE] . . .

Xa th t c

DROP PRO[CEDURE] <tn SP>

You might also like