ibmdb2中的OID比较

ibmdb2中的OID比较,db2,compare,sqldatatypes,oid,object-relational-model,Db2,Compare,Sqldatatypes,Oid,Object Relational Model,我第一次尝试使用DB2的面向对象特性。我创建了类型、类型表和插入数据。问题是我无法比较用户生成的OID 我的类型: CREATE TYPE "orschema"."pojistovna_typ" AS( nazev VARCHAR(30), cislo VARCHAR(3)) INSTANTIABLE REF USING INTEGER MODE DB2SQL; 我键入的表格: CREATE TABLE "orschema"."pojistovna" OF "orschema"."pojis

我第一次尝试使用DB2的面向对象特性。我创建了类型、类型表和插入数据。问题是我无法比较用户生成的OID

我的类型:

CREATE TYPE "orschema"."pojistovna_typ" AS(
nazev VARCHAR(30), 
cislo VARCHAR(3))
INSTANTIABLE
REF USING INTEGER
MODE DB2SQL;
我键入的表格:

CREATE TABLE "orschema"."pojistovna" OF "orschema"."pojistovna_typ"
(REF IS oid USER GENERATED);
使用以下命令成功插入数据:

INSERT INTO "orschema"."pojistovna" (oid, nazev, cislo)
  VALUES("orschema"."pojistovna_typ"(1), 'ccc', '105');
但这个选择根本不起作用,但据IBM所知,它是以同样的方式进行的:

SELECT * FROM "orschema"."pojistovna" AS "p"
WHERE "p"."oid" = "orschema"."pojistovna_typ"(1);

错误:数据类型与不兼容或不可比较=

一种方法是使用CAST函数,但我不确定这是否会减慢此查询的速度:

SELECT * FROM "orschema"."pojistovna" AS "p" WHERE CAST("p".oid AS INTEGER) = 1;