CREATE OR REPLACE VIEW "VW_ASPNET_PROFILES"("USERID", "LASTUPDATEDDATE", "DATASIZE") AS
SELECT     ASPNET_PROFILE.USERID ,     ASPNET_PROFILE.LASTUPDATEDDATE ,
       DATASIZE =  DATALENGTH(    ASPNET_PROFILE.PROPERTYNAMES )
                 + DATALENGTH(    ASPNET_PROFILE.PROPERTYVALUESSTRING )
                 + DATALENGTH(    ASPNET_PROFILE.PROPERTYVALUESBINARY )
  FROM     ASPNET_PROFILE ;
错误
ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:

解决方案 »

  1.   

    CREATE OR REPLACE VIEW "VW_ASPNET_PROFILES"("USERID", "LASTUPDATEDDATE", "DATASIZE") AS
    SELECT ASPNET_PROFILE.USERID,
           ASPNET_PROFILE.LASTUPDATEDDATE,
           DATALENGTH(ASPNET_PROFILE.PROPERTYNAMES) +
           DATALENGTH(ASPNET_PROFILE.PROPERTYVALUESSTRING) +
           DATALENGTH(ASPNET_PROFILE.PROPERTYVALUESBINARY) DATASIZE
      FROM ASPNET_PROFILE;
      

  2.   

    上面有误, oracle中没有DATALENGTH函数
    使用LENGTH试试PROFILE.PROPERTYNAMES
    PROFILE.PROPERTYVALUESSTRING
    PROFILE.PROPERTYVALUESBINARY这几列分别是什么类型?
      

  3.   


    错误报告:
    SQL 错误: ORA-00904: "DATALENGTH": invalid identifier
    00904. 00000 -  "%s: invalid identifier"
    *Cause:    
    *Action:
      

  4.   

    在2005中
    PROFILE.PROPERTYNAMES是ntext,
    PROFILE.PROPERTYVALUESSTRING也是ntext类型
    PROFILE.PROPERTYVALUESBINARY是image类型
    经powerdesigner转后
    都变成了blob类型,建表成功
      

  5.   

    我觉得这个视图的目的是查字段值所站字节数和,2005中是datalength函数oracle中呢?
      

  6.   

    CREATE OR REPLACE VIEW "VW_ASPNET_PROFILES"("USERID", "LASTUPDATEDDATE", "DATASIZE") AS
    SELECT ASPNET_PROFILE.USERID,
           ASPNET_PROFILE.LASTUPDATEDDATE,
           dbms_lob.getlength(ASPNET_PROFILE.PROPERTYNAMES) +
           dbms_lob.getlength(ASPNET_PROFILE.PROPERTYVALUESSTRING) +
           dbms_lob.getlength(ASPNET_PROFILE.PROPERTYVALUESBINARY) DATASIZE
      FROM ASPNET_PROFILE;
      

  7.   

    对的。谢谢tangren.其他两个你也帮看看吧