งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Stored Procedure.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Stored Procedure."— ใบสำเนางานนำเสนอ:

1 Stored Procedure

2 Stored Procedures A stored procedure is a collection of SQL statements stored in a database and executed by name. Are a Transact-SQL extension Allow many users access to same code Provide a centralized and consistent implementation of integrity logic Are used to implement Frequently used queries Business rules Program routines common to other stored procedures like error handling routines

3 Benefits of Stored Procedures
Run faster than the same commands executed interactively as a batch Reduce network traffic Enforce consistency troughout the database Encourage modular application development Help provide security Reduce operator error

4 Creating Stored Procedure
รูปแบบคำสั่ง create proc procedure_name as SQL_Statements [Return] ตัวอย่าง create proc proc_select_pubs Select * from publishers Retrun

5 Examining, Renaming and Dropping (using ISQLW)
Examining a procedure sp_Help [proc_name] sp_helptext proc_name Rename a procedure sp_rename old_name , new_name Drop a procedure drop proc_name

6 Using Input Parameters
An input parametrs is a variable value supplies from a calling program to the stored procedure The input parameter is defined within the stored procedure in order to execute the stored procedure with the corresponding argument Benefit : Procedure parameters increase a procedure flexibility

7 Using Input Parameters
รูปแบบคำสั่ง create proc procedure_name datatype[ datatype …]) as SQL_Statements Return ตัวอย่าง procedure รับค่า 1 ค่า create proc proc_author_addr varchar(40)) as Select au_id, au_fname, au_lanme, phone, address From authors Where au_lname

8 Guidline for Using Parameters
สามารถรับ parameter ได้ถึง 255 parameters ค่า parameter ที่ส่งมาอาจเป็น wildcard ก็ได้ ถ้า parameter ถูกใช้ใน Like clause เราไม่สามารถใช้ชื่อ object เป็น parameter ได้ ชื่อ ชนิดข้อมูล และ ค่าปริยาย ของ parameters จะถูกกำหนดเมื่อ procedure ถูกสร้าง Data type สามารถเป็นได้ทั้งที่เรากำหนดเองหรือใช้ system datatype ก็ได้

9 Execute a Stored Procedure
With a single parameters exec procedure_name @parameter_name = value by name varchar(40) = “Green” exec proc_author_addr by position exec proc_author_addr @lastname

10 Execute a Stored Procedure
Using multiple parameters ตัวอย่างการสร้าง Stored Procedureby รับค่าหลายค่า create proc author_addr2 char(2)) as select au_id,au_fname,au_lanme,phone,address,city,state,postalcode from authors where upper(au_lanme) like and return

11 With multiple parameters
Execute a Stored Procedure With multiple parameters exec procedure_name @parameter_name = value by name by position exec author_addr2 “green” , ”CA”

12 One or more parameters is missing
Common Errors with Input Parameters Passed parameters are not compatible with the datatype of the parameter The way in which parameters are passed is mixed;parameters are passed by name and by position One or more parameters is missing Missing parameters can be overcome by using default values for input parameers Parameters are passed in the wrong order

13 ต้องใส่ keyword output เพื่อกำหนด return parameter
Returning Values from a Procedure ต้องใส่ keyword output เพื่อกำหนด return parameter ในการรับค่าโปรแกรมที่เรียกต้องกำหนด parameter เป็นแบบ output ในคำสั่ง execute

14 ตัวอย่างการสร้าง stored procedure แบบมีการส่งค่ากลับ
Returning Values from a Procedure ตัวอย่างการสร้าง stored procedure แบบมีการส่งค่ากลับ create proc proc_num_sales char(6)=null int output) as from sales where title_id return

15 ตัวอย่างโปรแกรมรับค่ากลับ จาก stored procedure
Returning Values from a Procedure ตัวอย่างโปรแกรมรับค่ากลับ จาก stored procedure char(6) = “PS2091” exec output select “Book ID” , “Total sales” Book ID Total sales PS

16 Calling Batch Program Example : Two-Way Parameter Passing
int int char(10) = 50 = “ ” exec output -- additional procedure here. Includes error handling, etc. Select “Quantity shipped is “ + + “out of” + convert(char(10)

17 Calling proc_dec_inventory Procedure
Example : Two-Way Parameter Passing (cont.1) Calling proc_dec_inventory Procedure create proc proc_dec_inventory char(10) int output) as int int = 0 if not exists (select * from inventory where item begin raiserror “Item not listed.” return end

18 Calling proc_dec_inventory Procedure (ต่อ)
Example : Two-Way Parameter Passing (cont.2) Calling proc_dec_inventory Procedure (ต่อ) = stock from inventory where , @actual_qty update inventory set stock = stock set backordered_qty + backordered_qty = item return

19 Returning Procedure Status
Every procedure automatically returns a return status Zero is returned for successful completion -1 through -99 are returned for detected errors Use the return statement to specify a return value Examples : return 10 The calling program can test for the return status

20 Example : Return Status
Example of a procedure that returns status : create proc proc_author_addr varchar(40)) as if not exists (select * from authors where upper(au_lname) like upper + “%”) return -900 select au_id , au_fname , au_lname , phone , address , city , state , postalcode from authors where upper(au_lname) like + “%” return 0

21 Example : Return Status (cont.)
Example of a calling program that checks the return status : int = = “Stringer” != 0 begin Print “Error finding name.” return end else Print “Name was found.”


ดาวน์โหลด ppt Stored Procedure.

งานนำเสนอที่คล้ายกัน


Ads by Google