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
暂时就先介绍这么点,有兴趣的同学们可以线下交流。
页:
[1]