Sybase存储过程的建立和使用
http://tech.ddvip.com 2007年07月31日 社区交流
内容摘要:存储过程一般多由Client端通过存储过程的名字进行调用,即跨网传送的只是存储过程的名字及少量的参数(如果有的话),而不是构成存储过程的许多SQL语句,因此可以减少网络传输量,加快系统响应速度。
使用存储过程的语法规则为:
[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语句。
·@return_status:接受存储过程返回状态值的变量。
·[@parameter_name=]value:实际参数(实参),@parameter_name为实参的名称(可选)。如果某个实参以@parameter_name=value提供,那么随后的实参也都要采用这一形式提供。
·[@parameter_name=]@varialbe[OUTput]:将变量@varialbe中的值作为实参传递给形参@parameter_name(可选),如果变量@varialbe是用来接受返回的参数值,则选项OUTput不可缺少。
存储过程的建立和使用,我们将通过几个例子进行介绍。
假设有一个用下述语句生成的技能工资表RS-LS-GZ-JiNeng:
create table RS_LS_GZ_JiNeng /*技能工资表*/
(GeRen_id char(4), /*个人代码 */
RiQi smalldatetime, /*执行日期 */
YuanYin_id char(1) null, /*变动原因代码 */
JinE smallmoney) /*技能工资金额 */
责编:豆豆技术应用