On 23 Jan 2013 07:23, Stone, Joel wrote:
I would like to sort WORKFILE1 in place, preferably using SQL.

Something to consider is "What is the reason for wanting to do so?"; and having shared that, contributors might offer alternatives.

Is this possible?

In effect, yes, but not with SQL. The RGZPFM CL command provides a means to reorganize the physical data in a database physical file member.

Physical order of data is inconsequential to the relational model; i.e. where data is unordered sets. And so for SQL as a language to provide data access for the RDBMS, there is effectively nothing that the SQL provides to physically order the data within a TABLE. Collation is an attribute of the request to extract data [the run-time SELECT], rather than an attribute of the physical data. That is because there can be many different possible collations for the same set of data; most notably, DESCending vs ASCending, but also according to data encoding and language\locale preferences, and across any variety of expressions\columns.

Or must I create another table with SQL CREATE and then CPYF it back
to the original file.

That is one of a number of ways to effect a desired physical order. But the value from doing so is limited, except for a static TABLE and for the arrival sequence access method. My preference is to use the RGZPFM with the KEYFILE parameter naming an access path that defines my desired collation.

This thread ...


Return to Archive home page | Return to MIDRANGE.COM home page