Stored Procedure.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Strength of Materials I EGCE201 กำลังวัสดุ 1
Advertisements

E-COMMERCE WEBSITE Smartzap Co., Ltd.. Company Profile บริษัท สมาร์ทแซป จำกัด ก่อตั้งเมื่อปี 2543 (13 ปี ) ในช่วงยุค Internet เพิ่ง เริ่มต้น เป็นบริษัทที่ดำเนินงานทางด้าน.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
THE PARTS OF A FLOWERING PLANT AND THEIR FUNTION.
คำสั่ง DISPLAY รูปแบบที่ 1 DISPLAY identifier-1, identifier-2 … literal-1 literal-2 [ UPON mnemonic-name ]  ตัวอย่าง DISPLAY STUDENT-NAME. DISPLAY.
1 C Programming An Introduction. 2 Preprocessing Directives เขียนได้ 2 รูปแบบ #include คอมไพเลอร์จะทำ การค้นหาเฮดเดอร์ไฟล์ที่ระบุ จากไดเร็คทอรีที่ใช้
Set is a basic term in Mathematics. There is no precise definition for term “set”, But roughly speaking, a set is a collection of objects, Things or symbols,
เสรี ชิโนดม MS SQLServer 7 เสรี ชิโนดม
ขั้นตอนวิธีและเครื่องมือในการพัฒนาโปรแกรม (ต่อ)
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
Graphical User Interface charturong.ee.engr.tu.ac.th/CN208
Braille OCR Mobile Application
รู้จักกับเทคโนโลยี RFID เบื้องต้น
Database Management System
VARIABLES, EXPRESSION and STATEMENTS. Values and Data Types Value เป็นสิ่งพื้นฐาน มีลักษณะเป็น ตัวอักษร หรือ ตัวเลข อาทิ 2+2 หรือ “Hello world” Value.
Chapter 5: Functions of Random Variables. สมมติว่าเรารู้ joint pdf ของ X 1, X 2, …, X n --> ให้หา pdf ของ Y = u (X 1, X 2, …, X n ) 3 วิธี 1. Distribution.
Data Structures and Algorithms
โครงสร้างข้อมูลแบบรายการโยง (Linked Lists) Data Structures and Algorithms อ. ธารารัตน์ พวงสุวรรณ คณะวิทยาศาสตร์และศิลปศาสตร์ มหาวิทยาลัยบูรพา วิทยาเขตสารสนเทศจันทบุรี
CS Assembly Language Programming Period 35.
: Chapter 1: Introduction 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Color Standards A pixel color is represented as a point in 3-D space. Axis may be labeled as independent colors such as R, G, B or may use other independent.
ออโตมาตาจำกัด FINITE AUTOMATA
REGULAR EXPRESSION การบรรยายแบบสม่ำเสมอ
Shell Script Programming (Function)
Copyright © 2004, Oracle. All rights reserved. Oracle Practice.
Inductive, Deductive Reasoning ผศ.( พิเศษ ) น. พ. นภดล สุชาติ พ. บ. M.P.H.
Course Software Engineering SE Overview and Introduction.
คำสั่ง READ รูปแบบ READ file-name RECORD [INTO identifier] [AT END imperative- statement] ตัวอย่าง READ STUDENT-FILE AT END GO TO END-PROCESS. READ CUSTOMER-FILE.
INC341 Steady State Error Lecture 6.
SQL Server using Transact-SQL
การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 7 การทดสอบโปรแกรม
Functions Standard Library Functions User-defined Functions.
8/3/2014The Realities of software Testing1 Software testing Realities What is the realities of software testing Why does the software testing not complete.
PHP Connect Database.
Page: 1 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ ผศ. บุรินทร์ รุจจน พันธุ์.. ปรับปรุง 19 ตุลาคม 2555 Introduction to Batch.
Page: 1 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ Gate & Karnaugh Map มหาวิทยาลัยเนชั่น จังหวัดลำปาง
Data Data are Raw material Data are values of qualitative or quantitative variables, belonging to a set of items. Sample 23, 36, 60 male, female like,
Menu and Interactive with Powerpoint ให้นำเรื่อง Input /Output Technology มา จัดทำ การนำเสนอ โดยใช้หลักการ Menu and Interactive with powerpoint มาประยุกต์
การติดต่อกับฐานข้อมูล(MySQL)
ครั้งที่ 3.
Introduction to Earned Value Analysis.
Writing a research. Why Research?  To find whether the messages and the materials are appropriate to the target group  To modify the messages and the.
iWaLL โดย 1. นายวีกิจ สัจจะมโนรมย์
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
Java Programming Language สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ มหาวิทยาลัยเทคโนโลยีราชมงคลกรุงเทพ.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
SQL Structured Query Language.
Thread Thread ส่วนของ process ที่ให้ CPU ประมวลผล.
STACK ADT By Pantharee S.. Stack Model  A list with the restriction that insertions deletions can be performed in only one position (LIFO)  Push – insert.
Java Array And String โดย อ. นัฐพงศ์ ส่งเนียม
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
เอกสารเรียนวันที่ 27 มกราคม 2555
เอกสารเรียนวันที่ 7 กันยายน 2555
Chapter 3 Simple Supervised learning
Chapter 1/1 Arrays. Introduction Data structures are classified as either linear or nonlinear Linear structures: elements form a sequence or a linear.
21 August ดรุณี ศมาวรรตกุล 1 2. ADT List - Unsorted list ADT - list implementation - Sorted List - Circular list - Doubly linked list.
Java Array and String Jarungjit Parnjai
Object-Oriented Programming with Java Burapha University, 2001 Java Array and String Week #3 Jarungjit Parnjai.
An Online Computer Assisted Instruction Development of Electronics Devices Subject for Learning Effectiveness Testing By Assoc.Prof. Suwanna Sombunsukho.
SQL Structured Query Language.
 Mr.Nitirat Tanthavech.  HTML forms are used to pass data to a server.  A form can contain input elements like text fields, checkboxes, radio-buttons,
1 exit() and break C++ provides a way to leave a program early (before its natural finish) with the exit() function. The format of exit() is as follows:
ประเภทของคำสั่งของภาษา SQL
ภาษา SQL (Structured Query Language)
Integrity Constraints
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Chapter 9 : ภาษาทางด้านฐานข้อมูลคำสั่ง SQL (SQL Command)
Object-Oriented Programming Paradigm
การออกแบบระบบ System Design.
บทที่ 1 ความรู้เบื้องต้น เกี่ยวกับระบบสารสนเทศ
ใบสำเนางานนำเสนอ:

Stored Procedure

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Calling Batch Program Example : Two-Way Parameter Passing declare @qty_ordered int , @actual_qry int , @item_ordered char(10) select @qty_ordered = 50 select @actual_qty = @qty_ordered select @item_ordered = “1095-87654” exec proc_dec_inventory @item_ordered , @actual_qty output -- additional procedure here. Includes error handling, etc. Select “Quantity shipped is “ + convert(char(10), @actual_qty) + “out of” + convert(char(10) , @qty_ordered)

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

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

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

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

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