Как расширить базу данных в Sybase IQ?

Я пытаюсь импортировать несколько таблиц в базу данных Sybase IQ. Сначала я запускаю сценарий для создания таблиц, затем запускаю другой сценарий для импорта данных с помощью набора операторов LOAD TABLE.

Первый скрипт правильно создал таблицы (в единственном dbspace этой базы данных). Когда я запускаю сценарий импорта, после импорта половины таблиц я получаю сообщение о том, что пространство базы данных заполнено.

Поэтому я создал еще одно пространство баз данных и повторно запустил сценарий с того места, где он остановился. Однако я все еще получаю сообщение об ошибке, говорящее о том, что первое пространство базы данных заполнено. Почему Sybase IQ не использует созданное мной второе пространство баз данных? Я вижу, что таблицы связаны с первым пространством баз данных, но не должна ли таблица расширяться в другое пространство баз данных по мере необходимости?


person ps0604    schedule 19.02.2015    source источник


Ответы (1)


Вы должны сообщить серверу базы данных, что хотите поместить некоторые таблицы во второе пространство баз данных. Вы делаете это, добавляя предложение «IN» в оператор создания таблицы.

Например, CREATE TABLE x (<cols>) помещает таблицу в пространство БД SYSTEM, поскольку вы его не указали. Но CREATE TABLE x (<cols>) IN mydbspace помещает его в пространство баз данных под названием "mydbspace".

Документы по оператору создания таблицы находятся здесь< /а>. Обратите внимание, что это документы по SQL Anywhere, но, поскольку SQL Anywhere является механизмом выполнения для IQ, они по-прежнему применимы.

Раскрытие информации: я работаю в SAP, занимаюсь разработкой SQL Anywhere.

person Graeme Perrow    schedule 20.02.2015