精华内容
下载资源
问答
  • ORA-01733: 此处不允许虚拟列

    千次阅读 2019-12-03 19:00:14
    检查一下sql是否多一个字段.特别是从连接数据库客户端上面生成的插入sql,最后面会多一个行ID "ROWID

    检查一下sql是否多一个字段.特别是从连接数据库客户端上面生成的插入sql,最后面会多一个行ID "ROWID "

    展开全文
  • 我们用oracle代码01733得到一个例外.有人知道我们能解决这个问题吗?它与Oracle 9i一起运行良好. 编辑:首先,我们将所有选定的条目写入文件.之后我们回滚结果集(extractedData)并更新行: extractedData.beforeFirst...

    我们的一个数据库已从Oracle 9i更新为11g.从那时起,我们的一个程序在尝试通过视图更新列时不断出现错误.我们也将JDBC驱动程序更新为11g.

    风景:

    CREATE OR REPLACE VIEW UIV AS

    SELECT

    (SELECT FIR_KO_KREIS FROM FIRMA

    WHERE FIR_KONZERN_NR = TRCO_KONZERN_NR

    AND FIR_FIRMA_NR = TRCO_FIRMA_NR) UIVNFIRMA,

    UIVAAENNKZ UIVAAENKZ,

    UVVOL,

    UVCLS,

    UVID1,

    UVID2,

    UVID3,

    UVID4,

    UVID5,

    UVID6,

    TO_NUMBER(TRIM(UVGJ)) UVGJ,

    UVEINH,

    TO_NUMBER(TRIM(UVW00)) UVW00,

    TO_NUMBER(TRIM(UVW01)) UVW01,

    TO_NUMBER(TRIM(UVW02)) UVW02,

    TO_NUMBER(TRIM(UVW03)) UVW03,

    TO_NUMBER(TRIM(UVW04)) UVW04,

    TO_NUMBER(TRIM(UVW05)) UVW05,

    TO_NUMBER(TRIM(UVW06)) UVW06,

    TO_NUMBER(TRIM(UVW07)) UVW07,

    TO_NUMBER(TRIM(UVW08)) UVW08,

    TO_NUMBER(TRIM(UVW09)) UVW09,

    TO_NUMBER(TRIM(UVW10)) UVW10,

    TO_NUMBER(TRIM(UVW11)) UVW11,

    TO_NUMBER(TRIM(UVW12)) UVW12,

    TO_NUMBER(TRIM(UVW13)) UVW13,

    NULL UVK01,

    NULL UVK02,

    NULL UVK03,

    NULL UVK04,

    NULL UVK05,

    NULL UVK06,

    NULL UVK07,

    NULL UVK08,

    NULL UVK09,

    NULL UVK10,

    NULL UVK11,

    NULL UVK12,

    NULL UVK13

    FROM CO_BUCH;

    我们的程序选择UIVAAENKZ为1的所有记录.此列应在java ResultSet中更新并设置为0.

    在resultSet.updateRow();我们用oracle代码01733得到一个例外.有人知道我们能解决这个问题吗?它与Oracle 9i一起运行良好.

    编辑:首先,我们将所有选定的条目写入文件.之后我们回滚结果集(extractedData)并更新行:

    extractedData.beforeFirst();

    while (extractedData.next()) {

    extractedData.updateString("UIVAAENKZ", "0");

    extractedData.updateRow();

    }

    请注意,视图中的列名称与原始表UIVAAENKZ UIVAAENNKZ中的列略有不同.但正如我所说,这不是问题.

    原始表:

    create table CO_BUCH

    (

    uvvol VARCHAR2(4),

    uvcls VARCHAR2(4),

    uvid1 VARCHAR2(15),

    uvid2 VARCHAR2(15),

    uvid3 VARCHAR2(15),

    uvid4 VARCHAR2(15),

    uvid5 VARCHAR2(15),

    uvid6 VARCHAR2(15),

    fill001 VARCHAR2(1),

    uvgj VARCHAR2(3),

    uveinh VARCHAR2(4),

    fill002 VARCHAR2(1),

    uvw00 VARCHAR2(16),

    fill003 VARCHAR2(1),

    uvw01 VARCHAR2(16),

    fill004 VARCHAR2(1),

    uvw02 VARCHAR2(16),

    fill005 VARCHAR2(1),

    uvw03 VARCHAR2(16),

    fill006 VARCHAR2(1),

    uvw04 VARCHAR2(16),

    fill007 VARCHAR2(1),

    uvw05 VARCHAR2(16),

    fill008 VARCHAR2(1),

    uvw06 VARCHAR2(16),

    fill009 VARCHAR2(1),

    uvw07 VARCHAR2(16),

    fill010 VARCHAR2(1),

    uvw08 VARCHAR2(16),

    fill011 VARCHAR2(1),

    uvw09 VARCHAR2(16),

    fill012 VARCHAR2(1),

    uvw10 VARCHAR2(16),

    fill013 VARCHAR2(1),

    uvw11 VARCHAR2(16),

    fill014 VARCHAR2(1),

    uvw12 VARCHAR2(16),

    fill015 VARCHAR2(1),

    uvw13 VARCHAR2(16),

    fill016 VARCHAR2(13),

    trco_konzern_nr NUMBER,

    trco_firma_nr NUMBER,

    trco_betrieb_nr NUMBER,

    trco_tras_beleg_nr NUMBER,

    trco_senden_datum DATE,

    trco_ausgabe VARCHAR2(1000),

    uivaaennkz VARCHAR2(1),

    uivaersben VARCHAR2(10),

    uivdersdat DATE,

    uivaaenben VARCHAR2(10),

    uivdaendat DATE,

    uivndsasta NUMBER(2),

    uivnfirma NUMBER

    )

    编辑2:

    SELECT COLUMN_NAME的OUptut,DATA_TYPE,DATA_DEFAULT,HIDDEN_COLUMN,VIRTUAL_COLUMN来自USER_TAB_COLS WHERE TABLE_NAME =’CO_BUCH’ORDER BY COLUMN_ID;

    UVVOL;VARCHAR2;;NO;NO

    UVCLS;VARCHAR2;;NO;NO

    UVID1;VARCHAR2;;NO;NO

    UVID2;VARCHAR2;;NO;NO

    UVID3;VARCHAR2;;NO;NO

    UVID4;VARCHAR2;;NO;NO

    UVID5;VARCHAR2;;NO;NO

    UVID6;VARCHAR2;;NO;NO

    FILL001;VARCHAR2;;NO;NO

    UVGJ;VARCHAR2;;NO;NO

    UVEINH;VARCHAR2;;NO;NO

    FILL002;VARCHAR2;;NO;NO

    UVW00;VARCHAR2;;NO;NO

    FILL003;VARCHAR2;;NO;NO

    UVW01;VARCHAR2;;NO;NO

    FILL004;VARCHAR2;;NO;NO

    UVW02;VARCHAR2;;NO;NO

    FILL005;VARCHAR2;;NO;NO

    UVW03;VARCHAR2;;NO;NO

    FILL006;VARCHAR2;;NO;NO

    UVW04;VARCHAR2;;NO;NO

    FILL007;VARCHAR2;;NO;NO

    UVW05;VARCHAR2;;NO;NO

    FILL008;VARCHAR2;;NO;NO

    UVW06;VARCHAR2;;NO;NO

    FILL009;VARCHAR2;;NO;NO

    UVW07;VARCHAR2;;NO;NO

    FILL010;VARCHAR2;;NO;NO

    UVW08;VARCHAR2;;NO;NO

    FILL011;VARCHAR2;;NO;NO

    UVW09;VARCHAR2;;NO;NO

    FILL012;VARCHAR2;;NO;NO

    UVW10;VARCHAR2;;NO;NO

    FILL013;VARCHAR2;;NO;NO

    UVW11;VARCHAR2;;NO;NO

    FILL014;VARCHAR2;;NO;NO

    UVW12;VARCHAR2;;NO;NO

    FILL015;VARCHAR2;;NO;NO

    UVW13;VARCHAR2;;NO;NO

    FILL016;VARCHAR2;;NO;NO

    TRCO_KONZERN_NR;NUMBER;;NO;NO

    TRCO_FIRMA_NR;NUMBER;;NO;NO

    TRCO_BETRIEB_NR;NUMBER;;NO;NO

    TRCO_TRAS_BELEG_NR;NUMBER;;NO;NO

    TRCO_SENDEN_DATUM;DATE;;NO;NO

    TRCO_AUSGABE;VARCHAR2;;NO;NO

    UIVAAENNKZ;VARCHAR2;;NO;NO

    UIVAERSBEN;VARCHAR2;;NO;NO

    UIVDERSDAT;DATE;;NO;NO

    UIVAAENBEN;VARCHAR2;;NO;NO

    UIVDAENDAT;DATE;;NO;NO

    UIVNDSASTA;NUMBER;;NO;NO

    UIVNFIRMA;NUMBER;;NO;NO

    解决方法:

    我们终于找到了解决方案.虽然它可能不漂亮,但它很有效,而且很简单.

    问题是视图中的以下列是从不同的表中选择的:

    (SELECT FIR_KO_KREIS FROM FIRMA

    WHERE FIR_KONZERN_NR = TRCO_KONZERN_NR

    AND FIR_FIRMA_NR = TRCO_FIRMA_NR) UIVNFIRMA

    当我们在导出期间没有选择此列时,一切正常.不幸的是我们需要这个专栏,所以我们必须提出一个不同的解决方案.

    围绕整个选定数据的附加选择消除了问题:

    CREATE OR REPLACE VIEW UIV AS

    SELECT * FROM (

    SELECT

    (SELECT FIR_KO_KREIS FROM FIRMA

    WHERE FIR_KONZERN_NR = TRCO_KONZERN_NR

    AND FIR_FIRMA_NR = TRCO_FIRMA_NR) UIVNFIRMA,

    UIVAAENNKZ UIVAAENKZ,

    UVVOL,

    UVCLS,

    UVID1,

    .

    .

    .

    FROM CO_BUCH);

    标签:java,sql,oracle,jdbc

    来源: https://codeday.me/bug/20190711/1432126.html

    展开全文
  • 原因分析:一般对视图的更新,只能对简单视图进程更新,而不能对多表关联形成的视图进程更新。对视图的更新,最终要反映到对表的字段的更新上。 Update 视图时,如果视图有分组函数、GROUP BY 子句、DISTINCT ...

    原因分析:一般对视图的更新,只能对简单视图进程更新,而不能对多表关联形成的视图进程更新。对视图的更新,最终要反映到对表的字段的更新上。

    Update 视图时,如果视图有分组函数、GROUP BY 子句、DISTINCT 关键字、ROWNUM 等伪列、常量表达式这些时,是不能修改视图的。

    把视图重新create后再进行insert into。

    ok!

    转载于:https://www.cnblogs.com/java-dyb/p/10862913.html

    展开全文
  • Error: PL/SQL: ORA-01733: virtual column not allowed here Line: 81 Text: MERGE INTO SvcOrderProfit Error: PL/SQL: SQL Statement ignored Line: 81 Text: MERGE INTO SvcOrderProfit 用merge ...
    Error: PL/SQL: ORA-01733: virtual column not allowed here
    
    Line: 81
    Text: MERGE INTO SvcOrderProfit


    Error: PL/SQL: SQL Statement ignored
    Line: 81

    Text: MERGE INTO SvcOrderProfit


    用merge into 的时候提示

    REF  :http://www.cnblogs.com/dongsheng/p/4384754.html


    问题代码:

     WHEN MATCHED THEN
        UPDATE
           SET IncomeRMB                    = pos_2,
               CostRMB                      = pos_3;/*,
               v_dIncomeUSDFee              = pos_4,
               v_dIncomeUSDAccount          = pos_5,
               v_dlCostUSDFee               = pos_6,
               v_dlCostUSDAccount           = pos_7,
               v_dIncomeRMBSales            = pos_8,
               v_dCostRMBSales              = pos_9,


    ROOT CAUSE 本来左边应该是表名,从SQL 转过来的时候却弄成了变量。所以报错 

    solution  :


    表字段的保留, 非表字段的SELECT INTO 到变量里面:

          SELECT NVL((SELECT SUM(SvcOrderFee.NoTaxFeeAmount)
                                  FROM SvcOrderFee
                                 WHERE SvcOrderFee.CurrencyType = 0
                                   AND SvcOrderFee.CreditDebitType = 0
                                   AND (SvcOrderFee.AccountType = 2 OR
                                       SvcOrderFee.AccountType = 3)
                                   AND SvcOrderFee.OrderBillID = v_lOrderBillID),
                                0)

    INTO         v_dCostRMBSales  
                       FROM DUAL;




    展开全文
  • 我们用oracle代码01733得到一个例外.有人知道我们能解决这个问题吗?它与Oracle 9i一起运行良好. 编辑:首先,我们将所有选定的条目写入文件.之后我们回滚结果集(extractedData)并更新行: extractedData.beforeFirst...
  • ORA-01733: 此处不允许虚拟列 原因分析:一般对视图的更新,只能对简单视图进程更新,而不能对多表关联形成的视图进程更新。  对视图的更新,最终要反映到对表的字段的更新上。  Update 视图时,如果视图有分组...
  • Oracle Update Query on Select Query |错误ORA-01733此处不允许使用虚拟列问题描述 投票:2回答:1update(select id, word, statuscase when sm = 1 and status = 'Renew'then coalesce(lgst, 'Add')else statusend...
  • oracle错误号提示ORA-

    2021-07-22 16:58:33
    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话 ...
  • Oracle 错误代码总结及解决方案ora-0

    千次阅读 2020-08-07 15:14:21
    ORA-00001:违反唯一约束条件(主键错误) ORA-00028:无法连接数据库进程 ORA-00900:无效sql语句 ORA-00904:字段名写错或是建表时最后一个字段有逗号 ORA-00907:缺少右括号 ORA-00911:无效字符 ORA-00917:...
  • ORA-报错解释

    万次阅读 2017-11-07 13:54:10
    ORA-00001: 违反唯一约束条件 (.)  ORA-00017: 请求会话以设置跟踪事件  ORA-00018: 超出最大会话数  ORA-00019: 超出最大会话许可数  ORA-00020: 超出最大进程数 ()  ORA-00021: 会话附属于其它某些进程...
  • Oracle ORA-错误表

    千次阅读 2017-04-13 09:52:06
    Oracle ORA-错误表 ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它...
  • Oracle Error :: ORA-01733

    2010-04-27 09:27:55
    今天有个朋友在导入数据的时候,报Oracle Error :: ORA-01733 Cause An attempt was made to use an INSERT, UPDATE, or DELETE stateme...
  • Oracle 错误代码详解及解决方式--ORA

    千次阅读 2018-04-04 11:42:00
    ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程;无法转换会话ORA-00022: 无效的会话 ID;访问被拒绝...
  • 网上没有完整版的中文版ORA整理,特此整理了一下。 还是有一些没有补全,待后续再补充吧。   ORA-00001:违反唯一约束条件 (.) ORA-00017:请求会话以设置...
  • ORA-01733: virtual column not allowed here

    千次阅读 2015-03-17 16:43:35
    ORA-01733: virtual column not allowed here 更新视图1: SQL> update scott.tt set A=2; update scott.tt set A=2  * ERROR at line 1: ORA-01732: data manipulation operation not legal ...
  • ORACLE错误原因查询表ORA-0

    千次阅读 2014-11-11 21:48:05
    ORACLE错误原因查询表ORA-0 ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可...
  • oracle数据库ORA-报错大全

    万次阅读 多人点赞 2015-04-14 08:52:25
    网上没有完整版的中文版ORA整理,特此整理了一下。 有时间可以再把每个问题的解决方案再加上。 ORA-00001: 违反唯一约束条件 (.)  ORA-00017: 请求会话以设置跟踪事件  ORA-00018:...
  • 常见错误总结(如:ORA-XXXXX)及问题解决方法 ORA-00001: 违反唯一约束条件  ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数...
  • ORA-ALL Oracle连接报错

    万次阅读 2016-09-23 13:11:59
    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换...
  • 写存储过程时建立了一个视图,现在需要根据视图中的列名 更新某列的数据并保存,怎么实现?
  • ORA-00904: --invalid column name 无效列名 ORA-00942: --table or view does not exist 表或者视图不存在 ORA-01400: --cannot insert NULL into () 不能将空值插入 ORA-00936: --缺少表达式 ORA-00933: --...
  • ORA错误码大全

    千次阅读 2019-12-25 14:25:03
    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话 ...
  • Oracle 错误总结及问题解决 ORA

    万次阅读 2017-09-19 14:22:59
    ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020:...
  • 11-05 14:15:44.737 [ERROR] - ORA-01733: 此处不允许虚拟列 11-05 14:15:44.737 [ERROR] - ORA-01733: 此处不允许虚拟列 11-05 14:15:44.737 [ERROR] - Could not synchronize database state with session ...
  • Oracle 错误代码(ORA)对照表

    万次阅读 2019-04-10 15:24:43
    ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程;无法转换会话ORA-00022: 无效的会话 ID;访问被拒绝...
  • ORA-00904: --invalid column name 无效列名  ORA-00942: --table or view does not exist 表或者视图不存在  ORA-01400: --cannot insert NULL into () 不能将空值插入  ORA-00936: --缺少表达式

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 430
精华内容 172
关键字:

ORA-01733