You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Informix数据库中查询自定义不透明类型(Opaque Types)

关于Informix自定义不透明类型的系统表与区分方法
  • 存储用户定义类型的核心系统表:
    除你提到的sysxtdtypes外,Informix专门用sysopclsses系统表存储不透明类型的元数据,包括类型关联的操作符、函数等信息。另外sysxtdtypeattrs会记录类型的属性参数,sysxtypeauth存储类型权限,但sysopclsses是区分自定义不透明类型的关键表。

  • 区分自定义不透明类型与基础类型:

    1. 自定义不透明类型在sysxtdtypes中mode虽标记为B(基础类型),但这类类型仅会出现在sysopclsses表中,原生基础类型(如int、char)不会在sysopclsses里有对应条目。
    2. sysxtdtypes的type字段值41并非“未知类型”,而是Informix对用户自定义不透明类型的内部标识——原生基础类型的type都是预定义固定值(比如int为2,varchar为12),只有自定义不透明类型会使用41这个值。
  • 关于extended_id的说明:
    extended_id是服务器自动生成的唯一标识符,用于系统内部关联不同元数据表的条目,它基于类型创建顺序和内部命名空间生成,没有公开的手动计算规则,你只需用它关联sysxtdtypes和sysopclsses即可。

  • 查询自定义不透明类型列表的SQL示例:

SELECT t.name AS opaque_type_name, t.extended_id, t.owner
FROM sysxtdtypes t
INNER JOIN sysopclsses o 
  ON t.extended_id = o.oid
WHERE t.type = 41 AND t.mode = 'B';

该查询通过关联两个系统表,筛选出所有用户自定义的不透明类型,同时返回类型名称、ID和所属用户。

内容的提问来源于stack exchange,提问作者What

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 09:30:00