从现有数据库创建数据库表正在进行

问题描述:

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

我有一个数据库表名ABC。 现在,我想创建与名称TEST进行中(Openedge)相同的数据库表。 任何人都可以帮助我完成这项任务吗?从现有数据库创建数据库表正在进行

在Oracle:

Create Table TEST As Select * from ABC; 

如何进步OPenedge创建测试表。

+0

您是否试图使用4GL(带有嵌入式SQL-89)或SQL-92引擎?如果你使用“mpro”启动了一个会话,那么它就是4gl,如果你正在使用sqlexp或其他一般的SQL访问工具,那么你使用的是SQL-92。 –

  1. 在数据管理中,转至管理 - 转储数据和定义 - 数据定义(.df文件)。

  2. 选择您的表ABC并单击确定。

  3. 输入一个输出文件并选择确定。

  4. 在文本编辑器输出文件(进度程序编辑器将工作)。

  5. 做一个搜索“ABC”,并以“TEST”替换所有实例。保存此文件。

  6. 返回到数据管理。选择管理 - 加载数据和定义 - 数据定义(.df文件)。

  7. 选择您编辑的文件,然后单击确定。新的TEST表应该加载到数据库中。

+0

要小心这种搜索和替换 - 你不想意外地更改字段名称或关键字的子字符串等... –

+0

好点。另一种方法是将表模式转储到文件,将表“ABC”重命名为“TEST”,然后加载转储文件以重新创建表“ABC”。这避免了搜索和替换。 – TheDrooper

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