【问题标题】:Creating Database Table From Existing Database Table in progress正在从现有数据库表创建数据库表
【发布时间】:2016-12-15 00:55:40
【问题描述】:
create table ABC
( 
 sno integer,
 name character,
 dob Date
 )

我有一个数据库表名 ABC。 现在,我想创建与名称 TEST In progress (Openedge) 相同的数据库表。 谁能帮我完成这项任务?

在甲骨文中:

Create Table TEST As Select * from ABC;

如何在 OPenedge 中创建 TEST 表。

【问题讨论】:

  • 您是在尝试使用 4GL(带有嵌入式 SQL-89)还是 SQL-92 引擎?如果您使用“mpro”启动会话,那么它是 4gl,如果您使用 sqlexp 或其他一些通用 SQL 访问工具,那么您使用的是 SQL-92。

标签: copy openedge progress-db


【解决方案1】:
  1. 在数据管理中,转到管理 - 转储数据和定义 - 数据定义(.df 文件)。

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

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

  4. 在文本编辑器中打开输出文件(Progress Procedure Editor 将起作用。)

  5. 搜索“ABC”并将所有实例替换为“TEST”。保存此文件。

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

  7. 选择您编辑的文件并单击“确定”。应该将新的 TEST 表加载到数据库中。

【讨论】:

  • 小心搜索和替换 - 您不想意外更改字段名称或关键字的子字符串等...
  • 好点。另一种方法是将表模式转储到文件中,将表“ABC”重命名为“TEST”,然后加载转储文件以重新创建表“ABC”。这避免了搜索和替换。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 2013-03-27
    • 1970-01-01
    相关资源
    最近更新 更多