最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

HANA中的SQL&SQLScript&Procedure

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-25 17:04:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

这三者的关系图如下所示:


SQL是SQLScript的一部分,Procedure可以用SQLScript来写,也可以用其他语言来编写。

一.SQL

HANA中的SQL方言是基于PTIME的方言,基本与标准的SQL语句类似。

SQL中的标识符有以下规范:

1.不加引号(包括单,双引号)的字符都是不区分大小写的,最终都会转化为大写。如Test1 -> TEST1

2.必须要以字母开头,其他字符包括字母,数字,“$”, “#”, “_” 等。

3. 双引号里的字符是大小写敏感的,如“Test1” -> “Test1”。

4. SQL中的String用单引号包围,字符串是区分大小写的。

5. HANA中创建数据库用schema,如:create schema test。

6. 表的复制:

create table myPRIME LIKEPRIME WITH DATA;这是连带表中记录复制,如果只是复制表结构,就不加WITH DATA。

7.在Linux下,用hdbsql来执行,用命令来执行:


exe/hdbsql -i01 -nlocalhost -u SYSTEM -pmanager "select * from weiyy_test.PRODUCT"

二. SQLScript&Procedure

Procedure是预先写一段程序,编译好后存放到数据库中,需要使用时直接调用即可。

下面举个例子说明用SQLScript来写Procedure。


DROP type PRIME_TYPE;

CREATE type PRIME_TYPE AS TABLE ( "NUMBER" INT CS_INT );


DROP PROCEDURE TESTPRO;

CREATE PROCEDURE TESTPRO(IN input1 PRIME_TYPE,OUT result PRIME_TYPE)

LANGUAGE SQLSCRIPT AS

BEGIN

result=select POWER(NUMBER,2) AS NUMBER  from:input1;

END;


select NUMBER FROM PRIME;


call TESTPRO(PRIME,?)

这段程序中有输入输出参数,自定义了一个表类型,输出一个表。

也可以用R语言来编写Procedure,但是这种方式效率不高,因为需要配置环境,安装R Server,编译R语言,加了一个中间过程。



楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-5-3 02:18

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表