返回首页

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

更新日期:2024年09月11日

syssyntable 系统目录表概述了每个公共或专用同义词与它表示的数据库对象(表、序
列或视图)
之间的映射。
它为 systables 表中 tabtype 值为 P 或 S 的每个条目包含一行。
syssyntable 表具有以下列。

类型
解释
tabid
INTEGER
标识公共同义词的代码
servername
VARCHAR(128)
外部数据库服务器的名称
dbname
VARCHAR(128)
外部数据库的名称
owner
VARCHAR(32)
外部对象的所有者的名称
tabname
VARCHAR(128)
外部表或视图的名称
btabid
INTEGER
基本表、序列或视图的标识代码

符合 ANSI 标准的数据库不支持公共同义词,它们的 syssyntable 表只能描述
syssyntable.tabtype 值为 P 的同义词。
如果为当前数据库中的对象定义同义词,那么只能使用 tabid 和 btabid 列。如果为
当前数据库外部的表定义同义词,那么不使用 btabid 列,而是使用 tabid、servername、
dbname、owner 和 tabname 列。
tabid 列映射至 systables.tabid。借助 tabid 信息,可以确定有关 systables 中的同义
词的其他方面。
tabid 列的索引只允许唯一值。btabid 列的索引建立为允许重复值。

可以使用以下两种方法中的任何一个为共享内存的常驻部分打开或关闭驻留

使用 onmode 实用程序可在数据库服务器处于联机方式时立刻逆转共享内存的状
态。

更改 onconfig 文件中的 RESIDENT 参数,可在下次设置数据库服务器共享内存
时打开或关闭共享内存驻留。
有关共享内存常驻部分的描述,请参阅共享内存的常驻部分。
在联机方式下打开或关闭驻留
要在数据库服务器处于联机方式时打开或关闭驻留,请使用 onmode 实用程序。
要立刻为共享内存的常驻部分打开驻留,请运行以下命令:% onmode -r

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 140 -
要立刻为共享内存的常驻部分关闭驻留,请运行以下命令:% onmode -n
这些命令不会更改 onconfig 文件中 RESIDENT 参数的值。也就是说,这种更改不是永
久的,驻留会在您下一次设置共享内存时回复到 RESIDENT 参数所指定的状态。在
UNIX™ 上,您必须是 root 或 gbasedbt用户才能打开或关闭驻留。
重新启动数据库服务器时打开或关闭驻留
可以使用文本编辑器打开或关闭驻留。 要更改驻留的当前状态,请使用文本编辑器定位
RESIDENT 参数。将 RESIDENT 设置为 1 以打开驻留或设置为 0 以关闭常驻,然后重
新将文件写入磁盘。更改生效之前,您必须关闭并重新启动数据库服务器。

函数说明
UNIX_TIMESTAMP(),UNIX_TIMESTAMP(date)

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 907
说明

如果调用时没有参数,以无符号的整数形式返回一个Unix 时间戳(从“1970-01-01
00:00:00” GMT 开始的秒数);

如果以一个参数date 调用UNIX_TIMESTAMP(),它将返回该参数值从“1970-01-01
00:00:00” GMT 开始经过的秒数值;

date 可以是一个DATE 字符串,一个DATETIME 字符串,一个TIMESTAMP,以一
个YYMMDD 或YYYYMMDD 显示的本地时间。
示例
示例1
UNIX_TIMESTAMP()没有参数,以无符号的整数形式返回一个Unix时间戳。
gbase> SELECT UNIX_TIMESTAMP() FROM t;
+------------------+
| UNIX_TIMESTAMP() |
+------------------+
| 1381557673 |
+------------------+
1 row in set
示例2
UNIX_TIMESTAMP(date),
返回从
“1970-01-01 00:00:00”
GMT开始,

“2011-08-30
22:23:00”所经过的秒数值。
gbase> SELECT UNIX_TIMESTAMP('2011-08-30 22:23:00') FROM t;
+---------------------------------------+
| UNIX_TIMESTAMP('2011-08-30 22:23:00') |
+---------------------------------------+
| 1314714180 |
+---------------------------------------+
1 row in set
说明

当UNIX_TIMESTAMP 被用在TIMESTAMP 列时,函数直接返回内部时间戳值,而不
进行任何隐含的“string-to-Unix-timestamp”转化。如果向UNIX_TIMESTAMP()传递
一个溢出日期,它会返回0,但请注意只执行基本范围检查(年份从1970 到2037,月份
从01 到12,日期从01 到31);

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 908

如果用户希望减去UNIX_TIMESTAMP()列,需要将结果强制转换为一个有符号整数。