MySQL Stored Procedure - SELECT - Example

Source code to create and add sql select stored procedure to catalog

The following example is for creating a simple select stored procedure. You can run it through an explicit call from a host language program.

DROP PROCEDURE IF EXISTS `sp_students_SELECT_byPK` 
GO

CREATE PROCEDURE sp_students_SELECT_byPK
     (
        IN   p_student_id                    INT(11)       , 
        OUT  p_password                      VARCHAR(15)   , 
        OUT  p_active_flg                    TINYINT(4)    , 
        OUT  p_lastname                      VARCHAR(30)   , 
        OUT  p_firstname                     VARCHAR(20)   , 
        OUT  p_gender_code                   VARCHAR(1)    , 
        OUT  p_birth_dttm                    DATETIME      
     )
BEGIN 

    SELECT password                      , 
           active_flg                    , 
           lastname                      , 
           firstname                     , 
           gender_code                   , 
           birth_dttm                    
    INTO   p_password                      , 
           p_active_flg                    , 
           p_lastname                      , 
           p_firstname                     , 
           p_gender_code                   , 
           p_birth_dttm                    
    FROM   students
    WHERE  student_id = p_student_id ; 

END 

GO

You will note that just like in a SQL SELECT or a SQL VIEW you do not have to use all of the columns available when creating a stored procedure. Additionally, for this stored procedure I used the primary key of the table as the means of access (the WHERE clause). You can write a stored procedure that uses an alternate key as a means of access. 

Executing the sql select stored procedure

Execute sql insert stored procedure

To run the stored procedure you need to supply a value to the student_id variable. The "WHERE" clause in the code above maps this variable to the student_id column in the table.

/***
   IN    p_student_id   INT(11)
   OUT   p_password     VARCHAR(15)
   OUT   p_active_flg   TINYINT(4)
   OUT   p_lastname     VARCHAR(30)
   OUT   p_firstname    VARCHAR(20)
   OUT   p_gender_code  VARCHAR(1)
   OUT   p_birth_dttm   DATETIME
***/

CALL sp_students_SELECT_byPK
   (
        8   , 
      @p_password , 
      @p_active_flg , 
      @p_lastname , 
      @p_firstname , 
      @p_gender_code , 
      @p_birth_dttm
   )
GO

SELECT @p_password      AS p_password      , 
       @p_active_flg    AS p_active_flg    , 
       @p_lastname      AS p_lastname      , 
       @p_firstname     AS p_firstname     , 
       @p_gender_code   AS p_gender_code   , 
       @p_birth_dttm    AS p_birth_dttm   
GO

Stored procedure results

   p_password    = 'NesbittJ1'
   p_active_flg  = '1'
   p_lastname    = 'Nesbitt'
   p_firstname   = 'Jon'
   p_gender_code = null
   p_birth_dttm  = null

 

Link to schema for Students table


If you find this site useful and are a book buyer/reader...

You can support my site by clicking on one of the Links below to Abe books

By doing this, I will receive a small commision on your purchase and making your purchase will not cost you any more money than if you went directly the site yourself! 

Abe Books sells books at a fraction of the original cost. I have purchased many books from them originally cost $40.00 for as little as $5 to $10 dollars including shipping costs


Click on applicable icon to find books at Abe Books on ...

MySQL MySQL & Php

Abe Books is one of my affiliates. I only use affiliates that I also purchase products from. I love Abe books. If it is printed they likely have a copy. I have also included a generic link to Abe Books below.

Once on their site, you will find that they have a nice, easy to use search engine so to find what you are looking for.

Free Shipping 125x125

MySQL Examples Map

MySQL Examples

SQL DML

String Functions

Stored Procedures

SQL Views

SQL Table Basics













navTango.com free

75% of your donation

goes to charity.