为清晰起见,已编辑:
我使用SQL在DB2中创建了一个表。 我现在意识到我不知道创建的物理文件的记录格式,并且需要一个逻辑文件来定义要在RPG代码中使用的密钥。如何使用SQL而不是DDS实现此目的?
这就是我想问的问题,真的,现在我对这个问题了解得更多。
答案 0 :(得分:3)
使用DDS创建的PF与使用SQL DDL创建的表之间确实没有区别。
两种方法都会生成一个属性为PF的* FILE对象。
任一方法的结果对象都可以与SQL或RPG记录级别访问(RLA)一起使用。
您可以通过DDS创建的PF或SQL DDL创建的表创建DDS LF或SQL视图/索引。
IBM提供了为DDS创建的对象生成SQL DDL的工具,但不是相反。如果丢失DDS源,您可以找到专门用于生成DDS的第三方工具。
现在的最佳做法是使用SQL DDL;因为使用DDS时,数据库的最新增强功能不可用。
例如,如果您认为需要使用DDS与RPG兼容,那么您就不正确了。您需要做的就是利用IBM i特定的关键字。
而不是
create table my_long_table_name (
my_long_column_name char(10)
);
使用
create table my_long_table_name
for system name mytable (
my_long_column_name
for mycol char(10)
) rcdfmt mytabler;