最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 服务器 > 云计算 >
SAP HANA常用sql备份怎么做
CSDN发表于 2020-09-05 18:06 次浏览

            SAP HANA是一款支持企业预置型部署和云部署模式的内存计算平台 ,提供高性能的数据查询功能,用户可以直接对大量实时业务数据进行查询和分析,而不需要对业务数据进行建模、聚合等。为方便搜索,将其常用的sql备份写下:

1,创建序列
CREATE SEQUENCE sequence1 START WITH 2999;
2,从一个表查数据插入到另一个表
insert into  "BIPORTAL"."BIP_SYS_DRP"(ma_arch,id)  select  ma_arch,sequence3.NEXTVAL from "BIPORTAL"."V_T024";
注意 ,如果需要查询distinct ma_arch,但是sequence3.NEXTVAL是不允许distinct的,怎么办?
变通方法:此时可以先distinct建一个视图,再从视图中select。
3,数字转字符串 
to_char(sequence3.NEXTVAL)
4,字符串转数字
to_decimal(sequence3.NEXTVAL)
5,修改一个字段的长度和类型
alter table  "BIPORTAL"."BASIS_TB_DICT_TYPE"  alter( pa_value VARCHAR(200));
6, a)添加一列 (可以图形化修改)
    alter table "BIPORTAL"."YA_SYS_ACCOUNT"  add ("WFJ_USER_ID" VARCHAR (100) null);

    b)删除一列 (可以图形化修改)
    alter table "BIPORTAL"."YA_SYS_ACCOUNT"  drop ("ID");
7,修改表名:

RENAME TABLE  "BIPORTAL"."P_PAY_TYPE_CRM" TO  "BIPORTAL"."DICT_PAY_TYPE_CRM";
8 ,自动添加一列编号:
   需求:根据部门分组,显示每个部门的工资等级 
  SELECT *, Row_Number() OVER ()  FROM employee     或者:
  SELECT *,   Row_Number() OVER (partition by deptid ORDER BY salary desc)  FROM employee
9,从一个表读取一列数据插入到另一表的一列中:
  update  "BIPORTAL"."DICT_ZHIBIAO_ALL" t1 set t1.name9=(select t2.name from "BIPORTAL"."DICT_ZHIBIAO9"   t2 where t1.id=t2.id );
10,添加删除主键:
【删除所有主键】alter table "BIPORTAL"."BIP_SYS_DRP" drop primary key;

【删除单个主键】先export,修改导出的sql ... PRIMARY KEY INVERTED VALUE ("MDH", "ZL_CODE"... 更改sql后再导入。

【添加主键】alter table "BIPORTAL"."BIP_SYS_DRP"  add [constraint key1] primary key(id);

11,对查询出的字符串进行替换(按照一定的映射规则替换,case when太语法太笨)

SELECT MAP(STORE_CLASS_CODE,'xxx','你好',
'sss','春天','') AS xxx   FROM "_SYS_BIC"."com.xxx.xxx.xx/xx" 

12,读取表的注释中文  comment 字段(以下两种都可以,不同的是COLUMNS中既有table也有view,

         TABLE_COLUMNS中只有table):

a)    select COLUMN_NAME,comments from "SYS"."COLUMNS" where TABLE_NAME = 'VBRP'

或:b)    select COLUMN_NAME,comments from "SYS"."TABLE_COLUMNS" where TABLE_NAME = 'VBRP'

13,修改列名

 RENAME COLUMN "BIPORTAL"."IM_SHOPPE_CATEGORY".GROUP_CODE TO GROUP_NAME

14,hana表列模式和行模式互转
 ALTER TABLE <schema_name>.<table_name> COLUMN; 
 ALTER TABLE <schema_name>.<table_name> ROW; 
HANA数据库同时支持行存储和列存储。列存储读性能好,拥有较高的压缩比,一些特性如分区只适用于列存储。常用于批量更新的大数据量表。行存储更新插入性能好,常用于经常单独操作的小数据量表。 
15,查找模型的列名和中文描述:

SELECT  DISTINCT "ORDER", "COLUMN_NAME", "COLUMN_CAPTION"
FROM "_SYS_BI"."BIMC_DIMENSION_VIEW" 
WHERE ("CUBE_NAME" = 'DIM_WORKFLOWS')
ORDER BY "ORDER" ASC;

16,替换列中部分字符串

update "BIPORTAL"."TB_COUNTERS_TYPE" set tname= replace(tname,'BIPORTAL.','HANA_BI.');

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐