php + oci8,表类型列,ORA-00932

时间:2016-09-24 22:24:01

标签: php oracle oci8

我的上下文:我正在开发和支持一些php应用程序,通过Oracle函数/过程和视图使用Billing APP API。 由于计费API的变化,我有时会更新我的代码。 但上次更新结算api更新已全部打破= \

API开发人员已将所有视图添加到table-type列中。这是它的定义:

  CREATE OR REPLACE FORCE VIEW "AIS_NET"."SI_V_SUBJECTS" ... AS 
  SELECT N_SUBJECT_ID,
.....
CAST(
         MULTISET(
           SELECT VC_CODE
           FROM   SI_V_ENTITIES_TAGS
           WHERE  N_ENTITY_ID = S.N_SUBJECT_ID
           AND    N_ENTITY_TYPE_ID = SYS_CONTEXT('CONST', 'ENTITY_TYPE_Subject')
           ORDER BY N_LINE_NO) AS TAGS)                T_TAGS,
.....

当我想要获取

select * from SI_V_SUBJECTS

我收到了一个错误:

oci_fetch_assoc(): ORA-00932: inconsistent datatypes: expected CHAR got TABLE

如果我定义没有T_TAGS的列,例如“选择N_SUBJECT_ID,VC_CODE FROM SI_V_SUBJECTS”,那么一切都很好。

但我不想查看我的所有代码并定义要选择的字段。

也许有一些使用php / oci8获取表类型列的提示/技巧?

谢谢你,抱歉我的英文不好!

0 个答案:

没有答案