这个示例将一个简单CASE表达式的值赋给变量appraisal,selector值是 grade。 DECLARE grade CHAR(1) := 'B'; appraisal VARCHAR2(20); BEGIN appraisal := CASE grade WHEN 'A' THEN 'Excellent' WHEN 'B' THEN 'Very Good' WHEN 'C' THEN 'Good' WHEN 'D' THEN 'Fair' WHEN 'F' THEN 'Poor' ELSE 'No such grade' END; DBMS_OUTPUT.PUT_LINE ('Grade ' || grade || ' is ' || appraisal); END;
--Result: --Grade B is Very Good
GBase 8s PL/SQL手册 南大通用数据技术股份有限公司 - 37 -
GBase 8s支持的时间类型数据有时间类型,日期类型,时间戳类型。
在C语言中, 使用GCIDateTime对象表示时, 使用子类型区分。
C (64位系统 )
SQLT类型
GCIDateTime时间 GCI_DTYPE_TIME datetime hour to second SQLT_TIME GCIDateTime日期 GCI_DTYPE_DATE Datetime year to day SQLT_DATE
GBase 8s GCI 接口使用指南
南大通用数据技术股份有限公司 10 GCIDateTime时间戳 GCI_DTYPE_TIMES TAMP 除去以上类型的其他时 间类型, 例如datetime year to fraction(5) , datetime hour to fraction(4). SQLT_TIMESTA MP
RAW 表 RAW 表是非日志记录的永久表,类似于非日志记录数据库中的表。支持但不记录 RAW 表中行内的更新、插入和删除操作。可在 RAW 表中定义索引,但是不能在 RAW 表中 定义唯一约束、主键约束或引用约束。不支持将轻量级追加用于加载 RAW 表,但在 High-Performance Loader (HPL) 操作中和指定 INTO TEMP ... WITH NO LOG 的查询中例 外。 无论是存储在日志记录数据库还是非日志记录数据库中,RAW 表都具有相同属性。如果 更新了 RAW 表,那么除非在更新之后执行 0 级备份,否则不能可靠复原数据。如果自 备份后尚未更新过表,那么可以从上次物理备份复原 RAW 表,但是仅备份逻辑日志并
GBase 8s 管理员指南 南大通用数据技术股份有限公司 - 169 - 不足以复原 RAW 表。快速恢复可回滚 STANDARD 表上未完成事务,但不会回滚 RAW 表上的未完成事务。 RAW 表适用于初始装入和数据的验证。要装入 RAW 表,可以使用任何装入实用程序, 包括 dbexport、DB-Access 的 LOAD 语句或表达式方式下的 HPL。如果在装入 RAW 表时发生错误或故障,那么得到的数据是发生故障时磁盘上的任何数据。 限制: 不要在事务中使用 RAW 表。在已装入数据后,请首先使用 ALTER TABLE 语 句将表更改为 STANDARD 类型并执行 0 级备份,然后再在事务中使用该表。 限制: 不要在 RAW 或 TEMP 表上使用 Enterprise Replication。 在高可用性集群环境中使用 RAW 表时,有一些限制。因为不记录对 RAW 表所作修 改,并且辅助服务器(包括 HDR、RSS 和 SDS)使用日志记录与主服务器保持同步,所 以将限制对 RAW 表执行某些操作: • 在主服务器上,可以创建、删除和访问 RAW 表;但是,不允许将表方式从未记 录更改为已记录,或从已记录更改为未记录。在高可用性集群环境中更改表的方 式会生成错误 -19845。 • 在辅助服务器(HDR、SDS 或 RSS)上,任何操作都不能访问 RAW 表。尝试 从 SQL 访问 RAW 表会生成错误 -19846。
表类型的属性 这些主题说明了装入表、快速恢复以及表类型的备份与复原。 将数据装入表 GBase 8s 创建在缺省情况下使用日志记录的 STANDARD 表。数据仓库应用程序可以有 需要花费长时间装入的巨型表。装入非日志记录表比装入日志记录表要快。可使用 CREATE RAW TABLE 语句创建 RAW 表或使用 ALTER TABLE 语句在装入 STANDARD 表之前将该表更改为 RAW 表。在装入表后,请对该表运行 UPDATE STATISTICS。 有关使用 ALTER TABLE 将表从日志记录更改为非日志记录的更多信息,请参阅 《GBase 8s SQL 指南:语法》。 表类型的快速恢复 下表显示了 GBase 8s 中可用的表类型的快速恢复方案。 表 1. 表类型的快速恢复
GBase 8s 管理员指南 南大通用数据技术股份有限公司 - 170 - 表类型 快速恢复行为 Standard 快速恢复成功。所有已落实的日志记录将前滚,而所有未完成的事务将回滚。 RAW 如果自上次修改原始表后已完成检查点,那么所有数据都可恢复。 上一个检查点后的插入、更新和删除将丢失。 RAW 表中未完成的事务将不回滚。 备份与复原 RAW 表 下表说明了 GBase 8s 中可用的表类型的备份方案。 表 1. 在 GBase 8s 上备份表 表类型 是否允许备份? Standard 是。 Temp 否。 RAW 是。如果更新 RAW 表,必须对其进行备份,这样就可以复原其中的所有数 据。仅备份逻辑日志是不够的。 重要: 在装入 RAW 表或将 RAW 表更改为 STANDARD 类型后,必须执行 0 级备份。 下表显示了这些表类型的复原方案。 表 2. 在 GBase 8s 上复原表 表类型 是否允许复原? Standard 是。热复原、冷复原和时间点复原都可以起作用。 Temp 否。 RAW 复原 RAW 表时,它只包含上次备份时位于磁盘上的数据。由于未记录 RAW 表,因此任何上次备份以来发生的更改都不会复原。 备份与复原 RAW 表 下表说明了 GBase 8s 中可用的表类型的备份方案。 表 1. 在 GBase 8s 上备份表 表类型 是否允许备份? Standard 是。 Temp 否。 RAW 是。如果更新 RAW 表,必须对其进行备份,这样就可以复原其中的所有数 据。仅备份逻辑日志是不够的。 重要: 在装入 RAW 表或将 RAW 表更改为 STANDARD 类型后,必须执行 0 级备份。 下表显示了这些表类型的复原方案。 表 2. 在 GBase 8s 上复原表
GBase 8s 管理员指南 南大通用数据技术股份有限公司 - 171 - 表类型 是否允许复原? Standard 是。热复原、冷复原和时间点复原都可以起作用。 Temp 否。 RAW 复原 RAW 表时,它只包含上次备份时位于磁盘上的数据。由于未记录 RAW 表,因此任何上次备份以来发生的更改都不会复原。