我的设置看起来像这样
SQL> SELECT tablespace_name, table_name
FROM all_tables
WHERE tablespace_name = 'MYSPACE';
TABLESPACE_NAME TABLE_NAME
-------------------------- ------------------------------
MYSPACE MYTABLENAME
MYSPACE MYOTHERTABLENAME
现在我想SELECT * FROM MYSPACE.MYTABLENAME;
,但显然你不是这样做的。
ERROR at line 1:
ORA-00942: table or view does not exist
我的预期结果是从该表中获取所有记录。就像我想的那样是MySQL。
由于
答案 0 :(得分:5)
您正在从表空间中进行选择,这与您的所有者/架构名称不同。这就是为什么。例如,表空间var disabledDates = [...];
function noDays(date) {
return [disabledDates.indexOf(date) != -1, "", ""];
}
jQuery('#date').datepicker({
beforeShowDay: noDays
});
拥有所有者function noDays(date) {
return [date > startDate && date < endDate, "", ""];
}
。您可以从Sys.xxx中选择;
确定。
SYSTEM
然后
SYS
(值得一提的是:从SELECT owner, tablespace_name, table_name
FROM all_tables
WHERE tablespace_name = 'MYSPACE';
/ select * from [ owner ].[ table_name ];
选择..)
答案 1 :(得分:3)
表不归表空间所有。表空间为a logical storage storage structure。创建表(或索引)时,指定其内容应为stored in的表空间。除非您正在执行DBA任务,否则您实际上不需要知道您的数据存储在哪个表空间中。
你可能只是混淆了条款。表由schemas拥有。如果您查询owner
列而不是tablespace_name
,您可能会看到以下内容:
SQL> SELECT owner, table_name
FROM all_tables
WHERE tablespace_name = 'MYSPACE';
OWNER TABLE_NAME
-------------------------- ------------------------------
MYUSER MYTABLENAME
MYUSER MYOTHERTABLENAME
然后您可以使用
进行查询SELECT * FROM MYOWNER.MYTABLENAME;
当然,如果所有者实际上是你,那么你不需要在表名前加上模式;你可以选择FROM MYTABLENAME
。 (您可能还有同义词或会话设置,使模式前缀不必要,但这有点偏离主题)。如果您拥有该表,您也会在USER_TABLES
中看到它。