DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) stored-procedures

Info Catalog (mysql.info) spatial-extensions (mysql.info) Top (mysql.info) triggers
 
 17 Stored Procedures and Functions
 **********************************
 

Menu

 
* stored-procedure-privileges  Stored Routines and the Grant Tables
* stored-procedure-syntax      Stored Procedure Syntax
* stored-procedure-replication-faq  Stored Procedures, Functions, Triggers, and Replication: Frequently Asked Questions
* stored-procedure-logging     Binary Logging of Stored Routines and Triggers
 
 Stored routines (procedures and functions) are supported in MySQL 5.0.
 A stored procedure is a set of SQL statements that can be stored in the
 server. Once this has been done, clients don't need to keep reissuing
 the individual statements but can refer to the stored procedure instead.
 
 Some situations where stored routines can be particularly useful:
 
    * When multiple client applications are written in different
      languages or work on different platforms, but need to perform the
      same database operations.
 
    * When security is paramount. Banks, for example, use stored
      procedures and functions for all common operations. This provides
      a consistent and secure environment, and routines can ensure that
      each operation is properly logged. In such a setup, applications
      and users would have no access to the database tables directly,
      but can only execute specific stored routines.
 
 Stored routines can provide improved performance because less
 information needs to be sent between the server and the client. The
 tradeoff is that this does increase the load on the database server
 because more of the work is done on the server side and less is done on
 the client (application) side. Consider this if many client machines
 (such as Web servers) are serviced by only one or a few database
 servers.
 
 Stored routines also allow you to have libraries of functions in the
 database server. This is a feature shared by modern application
 languages that allow such design internally (for example, by using
 classes). Using these client application language features is
 beneficial for the programmer even outside the scope of database use.
 
 MySQL follows the SQL:2003 syntax for stored routines, which is also
 used by IBM's DB2.
 
 The MySQL implementation of stored routines is still in progress.  All
 syntax described in this chapter is supported and any limitations and
 extensions are documented where appropriate. Further discussion of
 restrictions on use of stored routines is given in 
 routine-restrictions.
 
 Binary logging for stored routines takes place as described in 
 stored-procedure-logging.
 
Info Catalog (mysql.info) spatial-extensions (mysql.info) Top (mysql.info) triggers
automatically generated byinfo2html