Выполняется создание таблицы базы данных из существующей таблицы базы данных

create table ABC
( 
 sno integer,
 name character,
 dob Date
 )

У меня есть имя таблицы базы данных ABC. Теперь я хочу создать ту же таблицу базы данных, что и имя TEST In progress (Openedge). Может ли кто-нибудь помочь мне здесь выполнить эту задачу?

В Оракуле:

Create Table TEST As Select * from ABC;

Как создать таблицу TEST в процессе OPenedge.


person Purushottam    schedule 13.12.2016    source источник
comment
Вы пытаетесь использовать 4GL (со встроенным SQL-89) или механизм SQL-92? Если вы начали сеанс с помощью mpro, то это 4gl, если вы используете sqlexp или какой-либо другой общий инструмент доступа к SQL, то вы используете SQL-92.   -  person Tom Bascom    schedule 13.12.2016


Ответы (2)


  1. В разделе «Администрирование данных» перейдите в «Администратор» — «Дамп данных и определений» — «Определения данных» (файл .df).

  2. Выберите таблицу ABC и нажмите OK.

  3. Введите выходной файл и выберите OK.

  4. Откройте выходной файл в текстовом редакторе (подойдет редактор процедур Progress).

  5. Выполните поиск «ABC» и замените все экземпляры на «TEST». Сохраните этот файл.

  6. Вернитесь к управлению данными. Выберите «Администратор» — «Загрузить данные и определения» — «Определения данных» (файл .df).

  7. Выберите отредактированный файл и нажмите OK. Новая таблица TEST должна быть загружена в базу данных.

person TheDrooper    schedule 13.12.2016
comment
Будьте осторожны с этим поиском и заменой - вы не хотите случайно изменить имена полей или подстроки ключевых слов и т. Д. - person Tom Bascom; 14.12.2016
comment
Хорошая точка зрения. Другой способ сделать это — записать схему таблицы в файл, переименовать таблицу ABC в TEST, а затем загрузить файл дампа для воссоздания таблицы ABC. Это позволяет избежать поиска и замены. - person TheDrooper; 14.12.2016

OpenEdge SQL также имеет синтаксис «CREATE TABLE AS SELECT». Вы можете использовать его для создания копии таблицы. Пример:

SQLExplorer>create table pub.custcopy as select * from pub.customer;
SQLExplorer>
SQLExplorer>select top 5 name from pub.custcopy;
Name
----------------------------------------
Lift Line Skiing
Urpon Frisbee
Hoops Croquet Co.
Go Fishing Ltd
Match Point Tennis
person Austin    schedule 14.12.2016