存储过程的特点
sybase的存储过程是集中存储在sql server中的预先定义且已经编译好的事务。存储过程由sql语句和流程控制语句组成。它的功能包括:接受参数;调用另一过程;返回一个状态值给调用过程或批处理,指示调用成功或失败;返回若干个参数值给调用过程或批处理,为调用者提供动态结果;在远程sql server中运行等。
存储过程的性能特点如下:
·存储过程是预编译过的,这就意味着它与普通的sql语句或批处理的sql语句不同,当首次运行一个存储过程时,sql server的查询处理器对其进行分析,在排除了语法错误之后形成存储在系统中的可执行方案。由于查询处理的大部分工作已经完成,所以存储过程执行速度很快。
·存储过程和待处理的数据都放在同一台运行sql server的计算机上,使用存储过程查询当地的数据,效率自然很高。
·存储过程一般多由client端通过存储过程的名字进行调用,即跨网传送的只是存储过程的名字及少量的参数(如果有的话),而不是构成存储过程的许多sql语句,因此可以减少网络传输量,加快系统响应速度。
·存储过程还有着如同c语言子函数那样的被调用和返回值的方便特性。
所以,存储过程大大增强了sql语言的功能、效率和灵活性。掌握和应用好存储过程,对进一步发挥sybase数据库系统的强大功能有着重要的意义。
存储过程的语法规则
建立存储过程的语法规则为:
create procedure[owner.]procedurename[;number]
[[(]@parameter_name datatype[=default][output]
[,@parameter_name datatype[=default][output]]...[)]]
[with recompile]
as sql_statements
使用存储过程的语法规则为:
[execute][@return-status=]
[[[server.]database.]owner.]procedurename[;number]
[[@parameter_name=]value[@parameter_name=]@varialbe[output]
[,[@parameter_name=]value[@parameter_name=]@variable[output]...]]
[with recompile]
[page]下面简要介绍这两个命令的常用选项以及建立和使用存储过程的要点,关于选项的更为详细的说明请参考有关手册。
·[[[server.]database.]owner.]procedure_name:存储过程的名字。
·@parameter_name datatype[=default][output]:形式参数(形参)的名称、类型。df ault是赋予的缺省值(可选),output指定本参数为输出参数(可选)。形参是存储过程中的自变量,可以有多个,名字必须以@打头,最长30个字符。
·sql_statements:定义存储过程功能的sql语句。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器