Я не проектировал БД, поэтому не судите меня по этому поводу.Oracle Create Table as Select * from Another_Table в том же табличном пространстве
У меня есть таблица журналов, которая принимает A LOT записей. Мне нужно сохранить день или около того в этой таблице журналов. Моя первая мысль была:
В одной транзакции: 1. переименовать таблицу журнала 2. создать исходную таблицу журнала из переименованного журнала таблицы 3. совершить TRX и жизнь продолжается
г. Второго это случается, я бросаю переименованную таблицу и делаю это снова и снова. Это будет выполняться как задание Oracle один раз в день.
Оригинальный вопрос: ли кто-нибудь знает, если я указываю имя табличного пространства в таблице № 1, как так:
create table "my_user"."first_table" (pkid number, full_name varchar2(50)) nologging tablespace "my_custom_tablespace";
Тогда я сделать что-то вроде:
create table second_table as select * from first_table where 1=2 -- because I only want the structure
Будет мой second_table в том же table_space?
Заранее за вашу помощь.
№ 'second_table' будет создано в любом вашем табличном пространстве по умолчанию. Меня не волнует, что такое табличное пространство 'first_table'. Но почему бы вам не попробовать? Это было бы быстрее, чем писать вопрос. – sstan
Я не знаю, как проверить, какое табличное пространство было использовано для новой таблицы. Благодарю вас, однако, за вашу помощь в этом. – OneClutteredMind
Вот как вы можете проверить: 'select tablespace_name из user_tables, где table_name = 'SECOND_TABLE'' – sstan