รับทำเว็บไซต์ครบวงจร
เลือกภาษา Thai English     facebook
รายการหลัก



บทความ


Page Ranking Tool

การเขียน store procedure บน ms sql server ตอนที่ 4 การเขียน Store procedure แบบ Return ค่ากลับ


สอน SQL Server
> การเขียน store procedure บน ms sql server ตอนที่ 4 การเขียน Store procedure แบบ Return ค่ากลับ


3. Stored Procedures แบบ Return ค่ากลับ
การสร้าง store procedure แบบ return ค่ากลับมานั้น ก็สามารถทำได้ ซึ่งปกติแล้วการ return store procedure นั้นเราจะใช้เพื่อตรวจสอบสถานะของ Store procedure เท่านั้น เนื่องจากมันคืนค่ากลับมาเป็น interger และ จะ return กลับมาได้เพียง 1 ค่า (ยกเว้น เราจะใช้วิธี การ ใช้ร่วมกับ output parameter)


  Code
-- การสร้าง Stored Procedure return ค่ากลับ

Create Procedure sp_fullemployee_by_emp_code (
@parameter1 datatype ,
@parameter2 datatype=Default Value,
@parameter3 datatype output,
…
)
As
BEGIN
Declare @num int
@num=คำสั่ง Sql Statement
RETURN @num
END



ตัวอย่างเช่น
การสร้าง Store procedure เพื่อ Update ข้อมูล Employee จะมีการ Return ค่า @@error กลับมาเพื่อให้ทราบว่าสถานะของ Store procedure นั้นทำงานเป็นอย่างไร
(ค่า 0 ไม่พบ error แต่หากพบ error เราสามารถใช้ View sys.messages เพื่อหาดูได้ว่า เกิดจาก error อะไรเช่น
select * from sys.messages where message_id=8134 and language_id=1033
ขออธิบาย ซักนิด message_id คือ หมายเลข error id ที่ได้จาก @@error และ language_id คือ ภาษา 1033 เป็น us_english)



  Code
create procedure sp_update_employee (
@emp_code varchar(5) ,
@emp_name varchar(50) ,
@emp_surname varchar(50) ,
@emp_tel varchar(20)='-' , -- กำหนดค่าเริ่มต้นเป็น -
@emp_email varchar(60)='-' , -- กำหนดค่าเริ่มต้นเป็น -
@dep_code varchar(2)='01' -- กำหนดค่าเริ่มต้นเป็นฝ่าย Account
)
AS
BEGIN
Update tbl_employee set
emp_name = @emp_name ,
emp_surname=@emp_surname ,
emp_tel = @emp_tel ,
emp_email=@emp_email ,
dep_code=@dep_code
Where emp_code=@emp_code

Return @@error

END





  Code
-- การเรียกใช้งาน การ update ข้อมูล employee
Declare @err int
exec @err=sp_update_employee 'E0005','นาย บางนา','นามสกุล ถนน' ,@dep_code='03'

select @err



ผลลัพท์ที่ได้จะไม่พบ Error เนื่องจาก การประมวลผลถูกต้อง

refer: http://devzonedd.designweb2you.com/viewthread.php?tid=83&extra=page%3D1

Short URL click!
<< กลับคืน : เข้าชม 11,255 ครั้ง : ขึ้นไปด้านบน

รับทำเว็บไซต์ รับสร้างเว็บไซต์ รับออกแบบเว็บ รับเขียนเว็บ รับสอนทำเว็บ รับเช่า hosting รับเช่าพื้นที่เว็บไซต์ จดชื่อเว็บ รับโปรโมทเว็บไซต์ รับดูแลเว็บ SiteMap
สปริงเกอร์http://www.xn--22c2c4blb9n.xn--o3cw4h/