SAP HANA 修改表(alter table)的操作

 平常常用的修改hana表的语句

--增加表字段
alter table table_name add(source_sys smallint,load_date date);
--将修改表字段类型
alter table table_name alter(load_date timestamp);
--修改表字段名称
rename column table_name.load_date to load_time;
--增加注释-表
comment on table table_name is '表名';
--增加注释-字段名
comment on column table_name.source_sys is '来源系统';
--修改表名
rename table table_name1 to table_name2
--修改默认值
ALTER TABLE table_name ALTER (b INT DEFAULT 10);
--删除主键(删除数据)
alter table table_name drop primary key
--增加主键
ALTER TABLE table_name  ADD CONSTRAINT prim_key PRIMARY KEY (a, b);
--行表改成列表
ALTER TABLE table_name  COLUMN;

但实际上,在HANA官方文档中,修改表参数是非常丰富的。

ALTER TABLE  <table_name>
   [<add_columns_clause>]
   [<alter_columns_clause>] 
   [<drop_columns_clause>] 
   [<system_versioning_configuration>]
   [<add_drop_application_time_period>]
   [<lob_reorganize_clause>]
   [<clear_column_join_data_statistics_clause>]
   [<add_constraint_clause>] 
   [<alter_constraint_enforcement_clause>]
   [<drop_primary_key_clause>] 
   [<drop_constraint_clause>] 
   [<preload_clause>] 
   [<table_conversion_clause>] 
   [<add_association_clause>]
   [<drop_association_clause>] 
   [<with_annotation_clause>]
   [<partition_clauses>]
   [<load_unit>]
   [<alter_persistent_memory_spec_clause>]
   [<replica_clauses>] 
   [<persistent_merge_option>] 
   [<redo_log_option>] 
   [<auto_merge_option>] 
   [<unload_priority>] 
   [<schema_flexibility_option>] 
   [<trigger_option>] 
   [<set_group_option>] 
   [<unset_group_option>] 
   [<set_row_order>] 
   [<unset_row_order>] 
   [<unused_retention_period>] 
   [<reclaim_data_space_clause>] 
   [<series_reorganize_clause>]
   [<owner_to_clause>]  
   [<alter_mask_settings_clause>]
   [<clientside_encryption_clauses>]
   [<set_movable_clause>]
   [<convert_index_type>]
   [<numa_node_preference_clause>]

这里仅作几个介绍,更多的内容可以查看官方文档

预加载

数据库中预加载(Preload)的概念和用法。

预加载是一种优化技术,可以提高数据库查询的效率。当预加载标志被设置后,指定的表或列会在数据库服务器(这里的索引服务器)启动后自动加载进内存。这样,当我们查询这些表或列时,数据已经在内存中,不需要再从硬盘读取,从而大大提高了查询速度。这个设置对列存储表特别有用,因为列存储表的数据分布在硬盘的不同位置,预加载可以减少硬盘的随机读取。

具体来说,有以下几种预加载的设置:

  • PRELOAD ALL:设置表中所有列的预加载标志
  • PRELOAD (<column_name>):设置指定列的预加载标志
  • PRELOAD NONE:从所有列移除预加载标志

另外,你可以在系统表中查看预加载标志的当前状态。可能的值有TRUE(表示启用预加载)、FALSE(表示未启用预加载)和NULL(表示行存储、虚拟列或者扩展存储的表,这些表无法进行预加载)。

 在表t上设置列b和列c的预加载标志。

ALTER TABLE t PRELOAD (b, c);

 

卸载优先级

设置数据库表从内存中卸载的优先级。

当内存空间不足时,系统会根据这个优先级来决定先卸载哪些表的数据。

UNLOAD PRIORITY <unload_priority>这个命令就是用来设置卸载优先级的,其中<unload_priority>是一个数字,可以是0到9。

数字越大,表示卸载的优先级越高,也就是说,当系统需要回收内存空间时,优先级为9的表会被最先卸载。反之,如果优先级为0,那么表的数据就不会被卸载,除非在特殊情况下。

结合这个例子ALTER TABLE t UNLOAD PRIORITY 2;,这条命令的意思就是将表t的卸载优先级设置为2。这意味着当内存空间不足时,系统会优先卸载优先级更高(数字更大)的表,表t的数据会被相对保留较长的时间。

将表t的卸载优先级更改为2。 

ALTER TABLE t UNLOAD PRIORITY 2;
掩码处理

数据掩码是一种保护敏感信息的技术,它将原始数据替换为随机字符或者其他不可识别的形式,从而防止敏感数据被未经授权的人查看。在这个例子中,可能是因为"SSN"列中包含了敏感信息(如个人的社会安全号码),所以需要进行数据掩码处理。

修改Personal_Information表,对SSN列使用掩码处理。

ALTER TABLE PERSONAL_INFORMATION ADD MASK (SSN USING '****');

修改Personal_Information表,取消对SSN列的掩码处理。

ALTER TABLE PERSONAL_INFORMATION DROP MASK (SSN);
 外键约束

创建两个数据库表,然后在其中一个名为REFERENCING_T的表上添加一个外键约束。

在数据库中,外键是一种约束,用于保证数据的一致性和完整性。它是一个表中的字段,它的值是另一个表的主键。这种关系称为外键关系,通过这种关系,两个表可以相互关联。

所以,这句话的意思就是在REFERENCING_T表上创建一个新的外键,这个外键会引用另一个表中的主键。这样,当我们在REFERENCING_T表中插入或更新数据时,系统会检查这个外键字段的值是否存在于被引用表的主键中,如果不存在,那么操作就会失败,从而保证了数据的一致性。

这段文字的内容包含了一系列数据库操作的例子:

1. 首先,创建了两个表:REFERENCED_T和REFERENCING_T。在REFERENCING_T表上,A列被设置为外键,引用了REFERENCED_T表的A列。

CREATE COLUMN TABLE REFERENCED_T ( A INT PRIMARY KEY, B INT);
CREATE COLUMN TABLE REFERENCING_T (A INT, B INT);
ALTER TABLE REFERENCING_T ADD CONSTRAINT fk1 FOREIGN KEY(A) REFERENCES REFERENCED_T(A);

2. 向这两个表插入数据,然后尝试插入一条违反外键约束的数据,这会导致插入失败。

 

    INSERT INTO REFERENCED_T VALUES (1, 1);
    INSERT INTO REFERENCING_T VALUES (1, 1);
    INSERT INTO REFERENCING_T VALUES (2, 1);  -- 这条语句会失败

3. 修改REFERENCING_T表,使得外键约束不被强制执行,这样违反约束的插入语句就可以成功了。

    ALTER TABLE REFERENCING_T ALTER CONSTRAINT fk1 NOT ENFORCED;
    INSERT INTO REFERENCING_T VALUES (2, 1);  -- 这条语句现在可以成功

4. 创建一个名为R的表,并添加一个唯一约束UK,然后删除这个约束。

    CREATE ROW TABLE R (A INT PRIMARY KEY, B NVARCHAR(10));
    ALTER TABLE R ADD CONSTRAINT UK UNIQUE (B);
    ALTER TABLE R DROP CONSTRAINT UK;

5. 创建一个名为S的表,并添加一个引用R表的外键约束,设定了删除级联选项,也就是说,如果R表中的数据被删除,相应的S表中的数据也会被删除。

CREATE ROW TABLE S (FA INT, B NVARCHAR(10));
ALTER TABLE S ADD CONSTRAINT FK FOREIGN KEY(FA) REFERENCES R(A) ON DELETE CASCADE;

6. 创建一个名为account的表和它的历史表account_history,然后为account表启用系统版本控制,这样可以追踪account表的历史数据。 

CREATE COLUMN TABLE account (
      account_id INT PRIMARY KEY,
      account_owner_id NVARCHAR(10),
      account_balance DOUBLE
    );

    CREATE COLUMN TABLE account_history (
      account_id INT,
      account_owner_id NVARCHAR(10),
      account_balance DOUBLE,
      valid_from TIMESTAMP NOT NULL,
      valid_to TIMESTAMP NOT NULL
    );

    ALTER TABLE account ADD (valid_from TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW START);
    ALTER TABLE account ADD (valid_to TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW END);
    ALTER TABLE account ADD PERIOD FOR SYSTEM_TIME(valid_from, valid_to);
    ALTER TABLE account ADD SYSTEM VERSIONING HISTORY TABLE account_history;

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: SAP HANA Studio 操作手册是一本详细介绍如何使用SAP HANA Studio进行开发和管理SAP HANA数据库的指南。SAP HANA Studio是一个集成开发环境,提供了一系列工具和功能,使开发人员能够在单一的界面中进行数据库设计、数据建模、SQL编写、数据库管理以及应用程序开发等工作。 该操作手册通常包含以下内容: 1. 简介:介绍SAP HANA Studio的基本概念、安装和配置,以及使用界面等基本知识。 2. 数据库设计和建模:介绍如何使用SAP HANA Studio的数据建模工具来设计和创建数据库对象,如、视图、过程和函数等。 3. SQL编写和调试:介绍如何使用SAP HANA Studio的SQL编辑器来编写和执行SQL查询,以及如何进行调试和优化查询性能。 4. 数据库管理:介绍如何使用SAP HANA Studio的管理工具来监控和管理SAP HANA数据库,包括用户管理、备份和恢复、性能监控以及故障排除等。 5. 应用程序开发:介绍如何使用SAP HANA Studio的应用程序开发工具来创建和部署应用程序,包括使用Java、ABAP和SAPUI5等语言开发数据库应用程序。 6. 扩展功能:介绍如何使用SAP HANA Studio的扩展功能,如数据集成、用于文本和图像处理的扩展库、以及与其他SAP产品的集成等。 SAP HANA Studio操作手册通过逐步指导和示例代码,帮助开发人员快速上手并掌握SAP HANA Studio的各种功能和工具。它是学习和使用SAP HANA Studio的重要参考资料,对于开发人员和数据库管理员来说,是一本必备的工具书。 ### 回答2: SAP HANA Studio 是一个集成的开发环境,用于管理和开发基于SAP HANA 数据库的应用程序。它提供了一个直观的用户界面,方便用户进行数据库连接、模型设计、SQL 开发、数据加载和系统监控等操作SAP HANA Studio 操作手册包含了针对该工具的详尽说明,帮助用户了解和掌握各种功能。手册的内容通常包括以下方面: 1. 安装和配置:手册会指导用户如何正确安装和配置 SAP HANA Studio,包括与 SAP HANA 数据库的连接设置,以确保正确使用该工具。 2. 用户界面介绍:手册会详细介绍 SAP HANA Studio 的用户界面,包括菜单、工具栏、导航面板和编辑器等。用户可以通过手册了解各个界面元素的功能和用法。 3. 数据库连接:手册会指导用户如何与 SAP HANA 数据库建立连接,并提供各种建立连接的方法和选项。用户可以通过手册学习如何管理和切换数据库连接。 4. 数据建模:手册会介绍如何使用 SAP HANA Studio 进行数据建模,包括创建格、视图和索引等。用户可以学习如何设计和优化数据库结构。 5. SQL 开发:手册会教用户如何使用 SAP HANA Studio 编写和执行 SQL 查询,包括对查询进行优化和调试。用户可以通过手册了解各种 SQL 函数和语法。 6. 数据加载和数据管理:手册会指导用户如何使用 SAP HANA Studio 进行数据加载和数据管理。用户可以学习如何导入和导出数据、备份和恢复数据库。 7. 系统监控和调优:手册会介绍如何使用 SAP HANA Studio 监控和调优数据库性能。用户可以学习如何查看系统状态、优化查询和配置数据库参数。 总而言之,SAP HANA Studio 操作手册为用户提供了全面而详细的指导,帮助用户充分利用该工具的功能,进行高效的数据库管理和开发工作。用户可以根据手册的说明,快速掌握各种操作技巧,并实现与 SAP HANA 数据库相关的数据处理需求。 ### 回答3: SAP HANA Studio 是一款由 SAP 公司提供的用于管理和开发 SAP HANA 数据库的工具。它具有直观的用户界面,为用户提供了丰富的功能和工具,方便用户进行数据库的管理、监控和开发。 SAP HANA Studio 操作手册是一本详细介绍 SAP HANA Studio 工具使用方法和功能的手册。在这本手册中,用户可以找到关于安装和配置工具的步骤指南。手册还介绍了工具的基本界面,包括不同的视图和功能区,同时还提供了详细的说明和指导,以便用户能够快速上手并熟练使用工具。 手册中还包括对 SAP HANA Studio 的不同功能的详细介绍,例如数据库管理、数据库监控、SQL 开发、模型设计等。每个功能都配有具体的操作步骤和示例,以帮助用户理解和掌握各种操作。手册还提供了一些常见问题的解决方案和特殊情况下的操作指导,以应对用户在使用过程中可能遇到的各种情况。 此外,手册还介绍了 SAP HANA Studio 工具的一些高级功能和扩展,例如与其他 SAP 工具和系统的集成,以及使用自定义插件进行功能扩展等。这些内容可以帮助用户根据自己的需求和实际情况,进一步扩展和优化使用工具的效果。 总之,SAP HANA Studio 操作手册是一个非常有价值和实用的资源,它可以通过详细的介绍和指导,帮助用户轻松地掌握和使用 SAP HANA Studio 工具,提高工作效率和准确性。无论是初学者还是有经验的用户,都可以从手册中获得对工具的全面和透彻的理解。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值