返回首页

gbase数据、南大通用产品文档:GBase8sC 间隔结构

更新日期:2024年09月11日

通过使用 C 间隔结构,来为 SQL 间隔数据类型指定 C 数据类型。
下列结构为 SQL 间隔数据类型指定 C 数据类型:
typedef struct tagSQL_INTERVAL_STRUCT
{
SQLINTERVAL interval_type;
SQLSMALLINT interval_sign;
union
{
SQL_YEAR_MONTH_STRUCT year_month;
SQL_DAY_SECOND_STRUCT day_second;
} intval;
}SQLINTERVAL_STRUCT;

typedef enum

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 61 -

{
SQL_IS_YEAR=1,
SQL_IS_MONTH=2,
SQL_IS_DAY=3,
SQL_IS_HOUR=4,
SQL_IS_MINUTE=5,
SQL_IS_SECOND=6,
SQL_IS_YEAR_TO_MONTH=7,
SQL_IS_DAY_TO_HOUR=8,
SQL_IS_DAY_TO_MINUTE=9,
SQL_IS_DAY_TO_SECOND=10,
SQL_IS_HOUR_TO_MINUTE=11,
SQL_IS_HOUR_TO_SECOND=12,
SQL_IS_MINUTE_TO_SECOND=13,
}SQLINTERVAL;

typedef struct tagSQL_YEAR_MONTH
{
SQLUINTEGER year;
SQLUINTEGER month;
}SQL_YEAR_MOHTH_STRUCT;

typedef struct tagSQL_DAY_SECOND
{
SQLUINTEGER day;
SQLUNINTEGER hour;
SQLUINTEGER minute;
SQLUINTEGER second

SELECT 语句的输出通常显示在屏幕上。您可以使用 SQL 菜单上的“输出”选项将查询结
果路由到打印机,将其存储在系统文件中,或将其通过管道输送到程序。“输出”选项产
生的结果与 SQL 的 OUTPUT 语句的结果相同。
SELECT 语句必须作为当前语句出现在屏幕上。从 SQL 菜单选择“输出”选项以显示“输
出”菜单。
您有以下输出选项:
l
将查询结果直接发送到打印机。DB-Access 将结果发送到缺省打印机,并在屏幕的底
部显示一条指示检索行数的消息。查询结果不会显示在屏幕上。您可以设置 DBPRINT
环境变量,以指定缺省打印机。
l
将查询结果写入新文件,或将结果追加到现有文件。如果 DB-Access 提示您输入文件
名时,您未指定路径,那么文件将存储在启动 DB-Access 时所在的目录中。
l
将查询结果发送到管道。
指定目标程序,
如 more,
以便通过它发送输出。
DB-Access 将
结果发送到该管道。
在 UNIX™ 系统上,您必须具有运行目标程序的许可权。

使用 DROP ACCESS_METHOD 语句可从数据库除去之前定义的主或辅助存取方
法。
该语句是 SQL ANSI/ISO 标准的扩展。
语法

元素
描述
限制
语法
access_method
要删除的
存取方法
的名称
必须在 sysams 系统目录表中注
册;不能是内置存取方法
标识符
owner
存取方法
的所有者
必须拥有存取方法
所有者名


GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 564
用法
RESTRICT 关键字是必需的。如果存在使用存取方法的虚拟表或索引,则无法删
除该存取方法。您必须是该存取方法的所有者,或者拥有 DBA 特权,才可删除
存取方法。
如果事务正在处理中,则数据库服务器等待移除此存取方法,直到提交或回滚该
事务。该交易完成之前,其它任何用户都无法执行该存取方法。
如果您包含可选的 IF EXISTS 关键字,则如果指定名称的存取方法已在当前数据
库中注册过,数据库服务器不执行任何操作(而不是向应用程序发生异常)。
示例
对于此示例,假设由此语句创建了一个存取方法:

CREATE SECONDARY ACCESS_METHOD T_tree
(
am_getnext = ttree_getnext,
am_unique,
am_cluster,
am_sptype = 'S'
);
以下语句删除了此存取方法:
DROP ACCESS_METHOD T_tree RESTRICT;
现有存取方法的详细信息可以使用以下查询在 sysams 系统目录表中找到:
SELECT am_name FROM gbasedbt.sysams;