L Language——SAP HANA學習筆記系列(二)

來源:互聯網
上載者:User
文章目錄
  • L預存程序
  • 用L自訂SQL Function
簡介

     在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

       暫時就先介紹這麼點,有興趣的同學們可以線下交流。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.