存储过程:
存储过程是一组为了完成特定的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数来调用执行它。
创建存储过程的关键字: PROCEDURE
格式:CREATE PROCEDURE sp_name (proc_parameter[,...])
[characteristic] routin_body
其中,sp_name参数是存储过程的名字;proc_parameter表示存储过程的参数列表;characteristic参数指定存储过程的特性;routine_body参数是SQL代码的内容,可以用begin....end来标识SQL代码的开始和结束。
proc_parameter中的每个参数由3部分组成。分别是:输入,输出类型、参数名称、和参数类型。
输入参数用IN表示,输出参数用OUT表示,INOUT表示即可输入也可输出。
characteristic参数的说明:
language SQL: 说明routine_body部分是由SQL语言的语句组成,这也是数据库系统默认的语言。
[not] deteministic :指明存储过程中的执行结果是否确定。deteministic表示结果是确定的,每次执行存储时,相同的输入会得到相同的输出。not deterministic 表示结果是非确定的,相同的输入可能得到不同的输出。在默认情况下,结果都是非确定的。
{contains SQL | no SQL | reads SQL data | modifies SQL data} :指明程序使用SQL语句的限制。cintains SQL 表示子程序包含SQL语句,但不包含读或者写