马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
SAP HANA Stuido中编写store procedure的语法与mysql中极为类似,并有多种方式调用之。 SAP HANA中store procedure的基本语法为:
[SQL] 纯文本查看 复制代码 CREATE PROCEDURE {schema.}name {({IN|OUT|INOUT} param_name data_type {,...})} {LANGUAGE <LANG>} {SQL SECURITY <MODE>} {READS SQL DATA {WITH RESULT VIEW <view_name>}} AS BEGIN END;
上述语法看上去挺吓人,其实并不难,下面的语法为HELL WORLD的程序:
[SQL] 纯文本查看 复制代码 CREATE PROCEDURE demo_proc_hello_world
LANGUAGE SQLSCRIPT AS
BEGIN
SELECT 'HELLO WORLD' FROM DUMMY;
END;
CALL demo_proc_hello_world;
从上面的代码中,可以使用CALL proc_name来调用procedure。还有另外一种方式可以调用,即:
[SQL] 纯文本查看 复制代码 DROP TABLE CUSTOMER;
CREATE COLUMN TABLE CUSTOMER(
CUST_ID VARCHAR(10),
AGE INTEGER
);
INSERT INTO CUSTOMER VALUES('Jim',10);
DROP PROCEDURE proWithResultView;
CREATE PROCEDURE proWithResultView(IN id VARCHAR(10), out o1 customer)
LANGUAGE SQLSCRIPT READS SQL DATA WITH RESULT VIEW ProcView AS
BEGIN
O1 = SELECT * FROM CUSTOMER WHERE CUST_ID = :id;
END;
SELECT * FROM ProcView WITH PARAMETERS('placeholder'=('$$id$$','Jim'));
也许你会问,既然有CALL这种方式,为什么还需要上面这种看似极复杂的调用方式,按照我的理解是因为第二种方式提供了一种更通用的接口,在SAP BO的IDT中可以使用上述方式来调用HANA的PROCEUDRE。
|