【发布时间】:2017-06-08 09:19:54
【问题描述】:
我有一个奇怪的问题。在我们尝试运行的生产数据库服务器之一中
select * from SCHEMA_NAME.TABLE_NAME
当我们运行查询时,我们会收到无效标识符错误。但是当我们选择一个特定的列并在同一个表上运行相同的选择查询时,我们能够得到输出。
请帮助我了解根本原因。
已创建类型:
create or replace
TYPE "TEST_TYPE" is object
(
MULTIROW_ID VARCHAR2(100 CHAR),
LOSS_ENTRY_TYPE VARCHAR2(1000 CHAR),
SUB_CATEGORY VARCHAR2(1000 CHAR),
LOSS_AMOUNT NUMBER,
LOSS_ENTRY_CURR VARCHAR2(100 CHAR)
);
类型 2 已创建:
create or replace
TYPE "TEST_TYPE1" AS TABLE OF TEST_TYPE;
使用上述表类型列的主要创建表查询:
CREATE TABLE "MS_TEST_DATA"
( "REGION" VARCHAR2(4000 CHAR),
"Entries" "TEST_TYPE1" ,
"ILE_DET_FUNCTION_OF_DISC_COM" VARCHAR2(4000 CHAR)
)
NESTED TABLE "Entries" STORE AS "TEST_TYPE3";
如果我在本地运行它,我可以使用select * 查询访问表。
但在服务器中我没有所有的访问权限。在那里,我对表具有只读访问权限。我只能运行select * 查询。
【问题讨论】:
-
请Edit您的问题并为相关表格添加
create table语句。 Formatted text 请no screen shots -
发布您的代码(作为文本)。突出显示第 39 行。
-
它是一个真正的表,而不是一个视图,物化视图,cte,查询,...?
-
它的真实表。但嵌套表
-
您还没有向我们准确展示脚本中的第 39 行是什么。您在生产中的对象、表和列名称与本地测试中的名称是否相同,以及您所展示的内容?查询两个环境时,您使用的是相同的客户端和版本吗?