STRUCTURE TABLE
Формат
STRUCTURE TABLE <табличный объект> <табличный объект>::=[<схема объекта>.]<имя базовой таблицы>
Назначение
Выгрузка на консоль утилиты текста SQL-оператора создания табличного объекта.
Описание
Все имена в <табличном объекте> допускают символ обобщения %.
Команда выполняется от имени текущего пользователя, поэтому для выгрузки чужих схем необходимо иметь доступ к системным таблицам БД.
Если задан несуществующий в БД <табличный объект>, соответствующий код завершения не выдается.
Имена элементов <табличного объекта> регистрозависимы.
Если нужно задать в команде STRUCTURE TABLE точное имя таблицы, то следует перед
подчеркиваниями в случае их наличия в имени таблицы (и процентами, хотя это редкий вариант)
задавать символы обратного слэша. Конструкцию ESCAPE '\' добавить во все SQL-запросы с LIKE
в inl и другие утилиты, где используется LIKE, так как по умолчанию в режиме /COMPATIBILITY=STANDARD
конструкция ESCAPE '\' не действует. В трансляторе SQL LIKE для случая, когда все метасимволы
в шаблоне экранированы, преобразовывать в равенство (сейчас это делается только тогда,
когда метасимволов в шаблоне нет). Во всех тестах добавить вручную '\' перед '_' в команду STRUCTURE TABLE,
если там предполагается именно точное имя таблицы. Если же в команде STRUCTURE TABLE задается
шаблон имени таблицы, содержащий метасимволы '_' и '%,' то при работе в режиме /COMPATIBILITY=STANDARD
следует всегда ставить '%' в конце шаблона.
Примеры
-
structure table AUTO
SQL> structure table AUTO CREATE TABLE "SYSTEM"."AUTO" CHARACTER SET "CP866" ( "MAKE" CHAR(20) CHARACTER SET "CP866" DEFAULT NULL, "MODEL" CHAR(20) CHARACTER SET "CP866" DEFAULT NULL, "BODYTYPE" CHAR(15) CHARACTER SET "CP866" DEFAULT NULL, "CYLNDERS" INTEGER DEFAULT NULL, "HORSEPWR" INTEGER DEFAULT NULL, "DSPLCMNT" INTEGER DEFAULT NULL, "WEIGHT" INTEGER DEFAULT NULL, "COLOR" CHAR(10) CHARACTER SET "CP866" DEFAULT NULL, "YEAR" INTEGER DEFAULT NULL, "SERIALNO" CHAR(16) CHARACTER SET "CP866" DEFAULT NULL, "CHKDATE" INTEGER DEFAULT NULL, "CHKMILE" INTEGER DEFAULT NULL, "PERSONID" INTEGER, PRIMARY KEY ("PERSONID")); -
structure table SYSTEM."AUTO"
-
struct tab SYS%.A%