编码 View in Progress OpenEdge Database
Coding View in Progress OpenEdge Database
我已经开始探索 Progress 数据库,我想问问是否有人知道我如何在 OpenEdge Procedure Editor 中编写视图(如 SQL)?
规则 #1 -- 进度不是 SQL。
过程编辑器中有一些非常有限且非常老式的 SQL 支持。 (这是 SQL-89 左右)
除了非常快速和极其简单的临时查询之外,您不应该将它用于任何其他用途。如:
select count( * ) from customer.
任何花哨的东西都会导致无尽的痛苦和挫折。
没有进行中的观点。还有很多其他东西,比如 FOR 语句、连接和其他东西。
在 ABL 编辑器中,您可以编写:
FOR EACH table1 NO-LOCK, EACH table2 NO-LOCK WHERE table2.id = table1.id:
DISPLAY table1.field2 table2.field3 WITH FRAME frOne 20 DOWN.
END.
但是,将其存储为 "view" 以备将来查询是不可能的。
不要考虑在 SQL 中有什么可能 - 你需要关注进度。
CREATE VIEW ne_customer AS
SELECT cust_no, last_name, street, city, state
FROM SPORTS.customer
WHERE state in ('NH', 'MA', 'ME', 'CT', 'RI', 'VT') ;
参见:
http://knowledgebase.progress.com/articles/Article/000035978
我已经开始探索 Progress 数据库,我想问问是否有人知道我如何在 OpenEdge Procedure Editor 中编写视图(如 SQL)?
规则 #1 -- 进度不是 SQL。
过程编辑器中有一些非常有限且非常老式的 SQL 支持。 (这是 SQL-89 左右)
除了非常快速和极其简单的临时查询之外,您不应该将它用于任何其他用途。如:
select count( * ) from customer.
任何花哨的东西都会导致无尽的痛苦和挫折。
没有进行中的观点。还有很多其他东西,比如 FOR 语句、连接和其他东西。
在 ABL 编辑器中,您可以编写:
FOR EACH table1 NO-LOCK, EACH table2 NO-LOCK WHERE table2.id = table1.id:
DISPLAY table1.field2 table2.field3 WITH FRAME frOne 20 DOWN.
END.
但是,将其存储为 "view" 以备将来查询是不可能的。
不要考虑在 SQL 中有什么可能 - 你需要关注进度。
CREATE VIEW ne_customer AS
SELECT cust_no, last_name, street, city, state
FROM SPORTS.customer
WHERE state in ('NH', 'MA', 'ME', 'CT', 'RI', 'VT') ;
参见:
http://knowledgebase.progress.com/articles/Article/000035978