I have never seen a file that is not "uniquely keyed". There is always some combination of fields (composite key) that makes up a way of uniquely identifying a record.
The only time this would matter is if you had a two identical records in a table.
But then this begs two questions:
1. Why is there duplicate data with no difference in any of the columns.
2. Why is there not a unique key column, or composite key on the table.
In either of the two cases above the developer did something very bad.
-----Original Message-----
From: James H. H. Lampert [mailto:jamesl@xxxxxxxxxxxxxxxxx]
Sent: Friday, December 28, 2012 12:54 PM
To: 'Midrange Systems Technical Discussion'
Subject: Uniquely identifying a record in SQL without a unique key?
I'm beginning to study Scott Klement's JDBCR4 API, as a means of extending our QuestView product to access external databases (and it would also allow us to expand our very limited support of data types that are normally SQL-only), and something suddenly struck me:
Suppose I'm looking at a record, and I decide to make a change to it.
And the file isn't uniquely keyed.
Now, with native RLA, we can easily determine the RRN of the record we're looking at, and acquire an update lock on that record by its RRN.
After all, RRNs only change if a RGZPFM is done, and that requires an exclusive lock on the member.
But now, suppose I have to use SQL, JDBC, and the JDBCR4 API. I'm no expert on SQL (SQL for Dummies is still my primary reference on the subject), but I don't recall ever reading anything anywhere about a way to get a record's RRN, or retrieve a record by its RRN, from SQL.
I must be missing *something* here, but what? How do I guarantee that an update will go to the right record, when I initially read it without a lock, and apparently can't grab a lock on it by its RRN?
--
JHHL
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at
http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.