I'm torn. I like Beth's solution because it is very generic and would handle UUID's, sequences, or just about anything else. But I like Doug's solution of specifying the sequence

<object name="User" sequence="UserSequence">

            ….

</object>


because it means less work to use it (ie I don't have to create a getUniqueID method for all of my Oracle tables).

On 2/21/06, Bowden, Beth (NIH/NIEHS) [E] <[EMAIL PROTECTED]> wrote:

How about just two pktypes, "autonumber" or "function"?  "Function" would mean use the "getUniqueID" function. This would add additional flexibility to use any different numbering scheme.

Beth Bowden

Phone: 919-541-3355 FAX: 919-541-3687
E-Mail:
[EMAIL PROTECTED]
Address: NIEHS, MD EC-03, P.O. BOX 12233, Research Triangle Park, NC 27709


From: Brian Kotek [mailto:[EMAIL PROTECTED]]


Sent: Tuesday, February 21, 2006 8:18 AM
To: reactor@doughughes.net
Subject: Re: [Reactor For CF] Oracle support for Reactor

 

Perhaps something user-configurable in the <config> set specifically for Oracle (or any other DBs that don't have autonumber)? Maybe something like this (with autonumber as the default if this tag wasn't specified):

      <config>
            <dsn value="Scratch" />
            <type value="oracle" />
            <pktype value="autonumber|sequence|uuid" />

            <mapping value="/ScratchData" />
            <mode value="development" />
      </config>

The trick with sequence seems to be, how do you tell Reactor where to get the next sequence value. Is there one for each table or a global one for each project that is used for all tables? Are the sequences named by convention ie "seq_customers" or would one have to specify the sequence to be used for each table?

On 2/21/06, Bowden, Beth (NIH/NIEHS) [E] <[EMAIL PROTECTED]> wrote:

I don't know of an Oracle column type that behaves like a sequence
unless she meant adding a trigger.

In Oracle, you can define a trigger on a column that will take the next
sequence value and insert it into the column. The issue I have is
returning that key.  Since Oracle doesn't have the "Identity" or
"autonumber", it also doesn't have the corresponding LAST_INSERT_ID() or
SCOPE_IDENTITY() functions.

Another thought is to use UUID for keys.

Beth Bowden

Phone: 919-541-3355 FAX: 919-541-3687
E-Mail: [EMAIL PROTECTED]
Address: NIEHS, MD EC-03, P.O. BOX 12233, Research Triangle Park, NC
27709

-----Original Message-----
From: Sean Corfield [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, February 21, 2006 1:55 AM
To: reactor@doughughes.net
Subject: Re: [Reactor For CF] Oracle support for Reactor

On 2/20/06, Doug Hughes <[EMAIL PROTECTED]> wrote:
> So, when working with oracle you need to create your IDs ahead of
time?
>
> In PostgreSQL they use sequences too.  However, I think you can define
a
> default of the next value from a sequence to a column.  (It's been a
while,
> forgive me if I'm wrong.)
>
> Is there anything like that in Oracle?

I just chatted to one of my Oracle DBA friends (she's in India looking
after her mother right now) and she says that there is a column type
that behaves like a sequence number but I suspect that isn't the
default way that legacy databases are created in Oracle. For the most
part, I've used a dedicated SEQUENCE as Beth indicates. Not sure how
to make this clean and generic across multiple DBs.
--
Sean A Corfield -- http://corfield.org/
Got frameworks?

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood



-- Reactor for ColdFusion Mailing List -- reactor@doughughes.net
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/




-- Reactor for ColdFusion Mailing List -- reactor@doughughes.net
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/


-- Reactor for ColdFusion Mailing List -- reactor@doughughes.net -- Archives at http://www.mail-archive.com/reactor%40doughughes.net/

-- Reactor for ColdFusion Mailing List -- reactor@doughughes.net -- Archives at http://www.mail-archive.com/reactor%40doughughes.net/

-- Reactor for ColdFusion Mailing List -- reactor@doughughes.net -- Archives at http://www.mail-archive.com/reactor%40doughughes.net/

Reply via email to