在SAP HANA的native development中,可以创建两种类型的存储过程:Text类型的存储过程以.hdbprocedure为文件后缀,XML类型的存储过程以.procedure为文件后缀。其中,XML类型的存储过程可以和Modeler Procedure editor兼容,但可能不支持SQLScript的一些新特性。其激活以后的存储过程在_SYS_BIC schema下。Text类型的存储过程可以选择其激活后所要保存在的schema名。
其中,XML类型的存储过程,支持使用procedure template来创建存储过程。Procedure template顾名思义就是一个存储过程的模板。对于一系列可能有相同逻辑的但是操作对象不同的存储过程,可以通过使用procedure template保存相同的操作架构,来简化开发过程。Procedure template中的操作都执行在用户定义的相关占位符上。对于具体的procedure template instance,即使用procedure template的存储过程,用具体的对象名来代替对应的占位符。
占位符只能使用在存储过程的BEGIN和END之间,使用“<”和“>”包围。能使用占位符的对象包括:
切换到“SAP HANA Development”的perspective下,在相应的package下,右键,选择New—> File,输入procedure template的名字,并以“.proceduretemplate”作为文件后缀名。
在上方的Template Parameters表中添加在这个procedure template中所要使用的占位符,点击绿色加号按钮添加参数。同样,所要在IN/OUT参数中使用的表类型可以在Local Table Types的标签下定义。
在下半部的Template Script中,实现procedure template的内部逻辑。使用Template parameters中定义的占位符,使用时使用“<”和“>”来包围占位符。
完成后,保存文件,并提交(Commit)和激活(activate)。
使用已创建的procedure template所得的存储过程称为procedure template instance,需要将指明所有占位符所对应的相关数据库对象。并且所使用的procedure template必须要check out 到本地的workspace,才可以使用。
在“SAP HANA Development”的perspective下,右键相应的package下,选择New—> Others—>SAP HANA –>Database Development,选择“Stored Procedure”。
输入File name,在File format处选择“XML (.procedure) – Deprecated”。在Advanced中勾选Create from procedure template,并选择前边已创建好的procedure template。
在Template Parameters中,填写所有占位符所对应的的对象名,用来在procedure template instance中替代占位符得到具体的存储过程。
保存文件,并提交(Commit)和激活(activate)。则,可以在_SYS_BIC下,看到已经建好的存储过程。可以查看其定义。
注:
想获取更多SAP HANA学习资料或有任何疑问,请关注新浪微博@HANAGeek!我们欢迎你的加入!转载本文章请注明作者和出处<http://scn.sap.com/community/chinese/hana/blog/2014/06/24/sap-hana%E4%B8%ADprocedure-template%E7%9A%... >,请勿用于任何商业用途。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
10 | |
10 | |
7 | |
7 | |
6 | |
5 | |
5 | |
5 | |
4 |