zoukankan      html  css  js  c++  java
  • SAP HANA存储过程结果视图调用 沧海

    ALTER SESSION SET CURRENT_SCHEMA = SqlScriptDocumentation;

    DROP PROCEDURE addDiscount;
    CREATE PROCEDURE addDiscount( IN it_books tt_sales_books, OUT ot_books tt_sales_books)
        LANGUAGE SQLSCRIPT READS SQL DATA AS
    BEGIN
      ot_Books = SELECT title, CASE WHEN price > 300 THEN (price - (price / 30))
                                    ELSE CASE WHEN price > 200 THEN (price - (price / 20))
                                              ELSE (price - (price / 10))
                                         END
                               END AS price, crcy
                 FROM :it_books;
    END;

    DROP PROCEDURE getSalesBooks;
    DROP VIEW addDiscount_RET;
    CREATE PROCEDURE getSalesBooks( IN minPrice DECIMAL(5, 2), IN currency VARCHAR(3),
                                    IN it_books books, OUT ot_sales tt_sales_books)
       LANGUAGE SQLSCRIPT READS SQL DATA WITH RESULT VIEW addDiscount_RET AS
    BEGIN
      lt_expensive_books = SELECT title, price, crcy
                           FROM :it_books
                           WHERE price > :minPrice
                           AND crcy = :currency;

      CALL addDiscount(:lt_expensive_books, lt_on_sale);

      lt_cheap_books = SELECT title, price, crcy
                       FROM :it_books
                       WHERE price <= :minPrice
                       AND crcy = :currency;

      ot_sales = CE_UNION_ALL(:lt_on_sale, :lt_cheap_books);
    END;

    CALL getSalesBooks(1.5, '''EUR''', books, op_sales_books);
    TRUNCATE table op_sales_books;
    SELECT * FROM addDiscount_RET WITH PARAMETERS ( 'placeholder' = ('$$minprice$$', '1'),
                                         'placeholder' = ('$$currency$$', '''EUR'''),
                                         'placeholder' = ('$$it_books$$', 'books'),
                                         'placeholder' = ('$$ot_sales$$', 'op_sales_books'));
    TRUNCATE table op_sales_books;

  • 相关阅读:
    happens-before规则和指令重排
    如何利用Google API为WordPress网页添加二维码
    Hadoop全分布式安装
    Hadoop完全分布式安装设置ssh免密登陆遇到的错误问题
    hadoop环境搭建过程中遇到的问题
    使用python去除图片周围的白色边框(黑色边框)
    Pandas(python)数据处理:只对某一列DataFrame数据进行归一化
    VM安装Ubuntu问题合集(无法联网、中文界面设置、中文输入法etc)
    C 语言控制台实现五子棋项目
    利用位运算求一个月的天数
  • 原文地址:https://www.cnblogs.com/omygod/p/3043779.html
Copyright © 2011-2022 走看看