返回首页

gbase数据、南大通用产品文档:GBase8a|

更新日期:2024年09月11日

1111 |
| 2013-12-17 14:11:16 |

SQLT_DAT 类型是oracle 数据库中特有的一种精度到秒的日期类型封装格式:
l
使用7 字节缓存表示日期
l
其中年占两个字节,即第一,二字节。分别表示世纪和年代,且做加100 运算。表示范
围公元前4712 年1 月1 日至公元9999 年12 月31 日。
l
第三字节表示月,取值范围是1-12
l
第四字节表示日,取值范围是1-31
l
第五字节表示时,取值范围是1-24
l
第六字节表示分,取值范围是1-60
l
第七字节表示秒,取值范围是1-60
其中年的表示8s 与oracle 是不同的,8s 是到0-9999 年
Oracle 例:
Example (for 30-NOV-1992, 3:17 PM)
----------------------------------------------------------
Byte 1 2 3 4 5 6 7
----------------------------------------------------------
Meaning Century Year Month Day Hour Minute Second
Values 119 192 11 30 16 18 1
----------------------------------------------------------
GCI 接口兼容了这个数据类型,如果使用这个类型进行数据绑定,获取到的时间精度只
能到秒。
注:如果sql 类型是时间类型,目前不支持其插入操作。

触发操作是当触发事件发生时执行的 SQL 语句。触发操作可以由 INSERT 、DELETE 、
UPDATE 、EXECUTE FUNCTION 和 EXECUTE PROCEDURE 语句组成。但是,除了指
定要执行什么操作外,还必须就触发语句何时执行这些操作。您有以下选择:

在触发语句执行之前

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 333 -


在触发语句执行之后

针对触发语句作用的每一行
表上的单个触发器可以为上述每一时间定义操作。
要定义触发操作,指定该操作何时发生,然后提供要执行的 SQL 语句,可使用关键字
BEFORE 、AFTER 或 FOR EACH ROW 指定该操作何时发生。然后是括在圆括号中的触
发操作。下面的触发操作定义指定在触发语句之前执行 SPL 例程 upd_items_p1 :
BEFORE(EXECUTE PROCEDURE upd_items_p1) -- a BEFORE action