| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Suggestions for alternate UPDATE command syntax
To keep the prior example simple, values such as "500 Mhz" and "1.63
ms" were not normalized. They can be normalized with the following
script:
// Create types to normalize above values.
(CREATE type inst *qty)
(CREATE type inst *unit)
// Normalize "500 Mhz" an additional step.
(CREATE (speed inst * & * name "500 Mhz") qty +500)
(CREATE (speed inst * & * name "500 Mhz") unit +Mhz)
(DELETE "500 Mhz" name)
// Normalize "1.63 ms" an additional step.
(CREATE ("execution time" inst * & * name "1.63 ms") qty +1.63)
(CREATE ("execution time" inst * & * name "1.63 ms") unit +ms)
(DELETE "1.63 ms" name)
// The query then becomes: // Find neo solution's execution time on hardware with 500 Mhz CPU. // Finds an "execution time" whose qty is 1.63 and unit is ms.time" *)
(SELECT (solution inst *
& * author neo & * hardware (* cpu (* speed (* qty 500 & * unit Mhz)))) "execution
Now suppose we want to add comments to solutions, it would go like this:
// Create comment type.
(CREATE type inst *comment)
// Add a comment to neo's solutions.
(CREATE x#1a comment +"normalized to symbols")
(CREATE x#1b comment +"normalized to symbols")
// Add two comments to hugo's solution.
(CREATE rm#2 comment +"non-normalized and non-generic")
(CREATE rm#2 comment +"unable to generate common ancestors for class
hierarchy")
// Find authors of "non-normalized and non-generic" solutions.
// Finds hugo.
(SELECT (solution inst *
& * comment "non-normalized and non-generic") author *) Received on Mon Apr 04 2005 - 17:04:37 CDT
![]() |
![]() |