Re: Reality check on PFs created as SQL TABLEs
Daniel Gross <[email protected]> Wed, 10 Jun 2026 20:17:47 +0200
| Newsgroups | gmane.comp.hardware.ibm.midrange |
|---|---|
| Message-ID | <[email protected]> |
Of course you can: CONSTRAINT "XXXX_PK" PRIMARY KEY (field1, field2) But it's somehow "deprecated" to use a multi-column primary key. Today an automatic ID column should be the primary key - all other key, especially multi-column keys, are normally done as indexes. HTH Daniel > Am 10.06.2026 um 20:12 schrieb James H. H. Lampert via MIDRANGE-L <[email protected]>: > > On 6/10/26 10:43 AM, Daniel Gross wrote: >> Yes - primary key constraint is the way - the primary key "index" is >> embedded in the table/PF object. > > Thanks. That worked, and the syntax is correct. > > I could have sworn that you couldn't have keyed SQL tables . . . and I just found the exact same constraint clause in *SQL for Dummies,* after having created a test table using the clause. > > I don't suppose it's possible to create an SQL TABLE with more than one inherent keyfield, the way you can with a DDS-defined PF, is there? > >> On 6/10/26 10:51 AM, Dan Bale wrote: >> If I'm not sure how SQL "replicates" a DDS feature, I'll use the Generate SQL function in Run SQL Scripts to generate the converted >> SQL source for DDS PF & LF objects. > I tried an experiment. With PF "FOO" generated from the following DDS: > > A R FOOBAR > A FIELD1 10A > A FIELD2 10A > A K FIELD1 > A K FIELD2 > > I tried "Generate SQL," and got: > > CREATE TABLE MERCURY.FOO ( > -- SQL150B 10 REUSEDLT(*NO) in table FOO in MERCURY ignored. > -- SQL1506 30 Key or attribute for FOO in MERCURY ignored. > FIELD1 CHAR(10) CCSID 37 NOT NULL DEFAULT '' , > FIELD2 CHAR(10) CCSID 37 NOT NULL DEFAULT '' ) > > RCDFMT FOOBAR ; > > So it looks like "anything DDS PFs & LFs support, SQL does as well" is indeed an oversimplification. > > Then again, Theory and practice are the same in theory, but not necessarily in practice. (Paraphrased from a maxim falsely attributed to Yogi Berra, among others, that may have originated with Jan van de Snepscheut.) > > -- > JHHL > -- > This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list > To post a message email: [email protected] > To subscribe, unsubscribe, or change list options, > visit: https://lists.midrange.com/mailman/listinfo/midrange-l > or email: [email protected] > Before posting, please take a moment to review the archives > at https://archive.midrange.com/midrange-l. > > Please contact [email protected] for any subscription related questions. > -- This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/midrange-l or email: [email protected] Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l. Please contact [email protected] for any subscription related questions.