L Language——SAP HANA学习笔记系列(二)

简介

     在SAP HANA中除了可以用SQL Script来创建存储过程,还可用L 编程语言来实现具体应用程序中的复杂计算的存储过程。L的存储过程和SQL Script的创建基本一样,可以有数据类型或者表类型作为输入和输出的参数。也就是说L的可以其他的存储过程一样,可以被其他的SQL Script的存储过程或数据库客户端直接使用。

     L是基于C/C++的,可以看着C++的子集;它是一种静态类型;L是要编译的,L的函数不是在虚机上执行,它是被放在标准的C/C++函数上执行。

实例介绍

L存储过程

CREATE PROCEDURE SYSTEM.PROC ( ... ) 
LANGUAGE LLANG READS SQL DATA AS 
BEGIN 
import "content:com.sap.my.lib" mylib; 
export Void main(...) { 
... 
mylib::f1(...); 
... 
} END

      首先content:com.sap.my.lib 被import, mylib是L的namespace。前缀content表明这个library在SAP HANA的repository中。在main函数中,我们调用了library中f1函数。整个L的代码和C++的看起来非常像。

用L自定义SQL Function

CREATE FUNCTION sqr (x DOUBLE) 
RETURNS "Y" DOUBLE 
LANGUAGE LLANG AS 
BEGIN 
        export Void main(Double "X" x, Double "Y" & y) { 
               y = x*x; 
} 
END;

       大家可以用这样的语句来调用这个function。

SELECT sqr(DoubleVALUECol) FROM TABLE1

       暂时就先介绍这么点,有兴趣的同学们可以线下交流。

 

posted @ 2013-04-26 11:01  王洪刚  阅读(1632)  评论(0编辑  收藏  举报