View oracle视图系统所有选项卡列
阿罗哈 我的目的是:我需要收集一些关于我的OracleDB的基本信息。怎么办?为了在ETL中使用它作为模式资源,我可以查询以限定我将翻译和验证的数据 我没有登录为SYS。因此,我的观点如下:View oracle视图系统所有选项卡列,view,oracle10g,etl,View,Oracle10g,Etl,阿罗哈 我的目的是:我需要收集一些关于我的OracleDB的基本信息。怎么办?为了在ETL中使用它作为模式资源,我可以查询以限定我将翻译和验证的数据 我没有登录为SYS。因此,我的观点如下: CREATE OR REPLACE FORCE VIEW "BRINDAVOINE".FME_SCHEMA_SIGE AS SELECT S.TABLE_NAME AS "feature_type", S.COLUMN_NAME AS "attribute_name"
CREATE OR REPLACE FORCE VIEW "BRINDAVOINE".FME_SCHEMA_SIGE
AS
SELECT S.TABLE_NAME AS "feature_type",
S.COLUMN_NAME AS "attribute_name",
CASE S.DATA_TYPE
WHEN 'BLOB'
THEN
'fme_buffer'
WHEN 'CHAR'
THEN
CASE
WHEN S.DATA_LENGTH IS NULL THEN 'fme_char(400)'
ELSE 'fme_char(' || S.DATA_LENGTH || ')'
END
WHEN 'DATE'
THEN
'fme_date'
WHEN 'NUMBER'
THEN
CASE
WHEN S.DATA_LENGTH IS NULL
THEN
'fme_decimal(400,'
ELSE
'fme_decimal('
|| S.DATA_LENGTH
|| ','
|| CASE
WHEN S.DATA_PRECISION IS NULL THEN '2)'
ELSE S.DATA_PRECISION || ')'
END
END
WHEN 'VARCHAR2'
THEN
CASE
WHEN S.DATA_LENGTH IS NULL THEN 'fme_char(400)'
ELSE 'fme_char(' || S.DATA_LENGTH || ')'
END
WHEN 'NVARCHAR2'
THEN
CASE
WHEN S.DATA_LENGTH IS NULL THEN 'fme_char(400)'
ELSE 'fme_char(' || S.DATA_LENGTH || ')'
END
ELSE
S.DATA_TYPE
END
AS "attribute_data_type",
'' AS "geometry_type"
FROM SYS.ALL_TAB_COLUMNS S
WHERE S.OWNER = 'A_REIMS'
AND S.TABLE_NAME NOT LIKE '%RELATION'
AND S.TABLE_NAME IN (SELECT NOM
FROM A_DESIGN_REIMS.APICD_COMPOSANT
WHERE NUMERO_MODELE = 1 AND action != 2)
AND NOT REGEXP_LIKE(S.COLUMN_NAME,
'(APIC_.*)|_([STXYLO]|S[GT]|[XY][12])$');
不幸的是,我有一条错误消息:当我试图查询它时,一个错误的“ORA-04063:view”BRINDAVOINE.FME_SCHEMA_SIGE“comporte des erreurs”。我尝试了一个alterview-BRINDAVOINE.FME_SCHEMA_SIGE编译,但它似乎没有改变
我的问题是:从sys.view创建视图可以吗?如果是这样,为什么我不能创建此视图
提前感谢,您应该能够创建查询系统视图的视图。我可以通过删除对A_DESIGN_REIMS.APICD_COMPOSANT的引用来编译您的视图(当然在我的数据库中不存在) 通过使用SQLPlus命令“show errors”(在创建视图之后立即)或通过查询“user\u errors”或“all\u errors”视图来检查错误。我猜BRINDAVOINE用户缺少必要的特权