Re: Foreign key in Oracle Sql

From: Gene Wirchenko <genew_at_ucantrade.com.NOTHERE>
Date: Thu, 20 Jan 2005 14:41:11 -0800
Message-ID: <shqvu0htradurefp6uri8a95rlm2mp3qm1_at_4ax.com>


On Wed, 19 Jan 2005 14:22:45 -0800, DA Morgan <damorgan_at_x.washington.edu> wrote:

>Gene Wirchenko wrote:
>
>> On Tue, 18 Jan 2005 15:07:46 -0800, DA Morgan
>> <damorgan_at_x.washington.edu> wrote:

[snip]

>> I think you protest overmuch. Would it really take gutting
>> Oracle to correct empty strings being equivalenced to NULL? Does that
>> really equate to being like Microsoft?

>Yes. Because that behaviour is expected by every bit of code in the
>database. The code written by developers is not the issue. It is all of
>the code from which the kernel is built, all of the code in all of the
>built-in packages and libraries, etc. You are talking about throwing
>millions of lines of code into doubt and a full testing cycle on
>features and code that have been stable for a very long time.
>
>And if Oracle did it would they sell one more database license? Would

     I know that that botch is why I will probably never buy Oracle. For me, it is very nearly a showstopper. If Oracle can not handle empty string properly, what else have they done wrong?

     In order to use Oracle, I would have to write empty string handling for every time I am manipulating a string that might be empty. I have better things to do, like writing applications.

     It is possible to handle empty strings properly. For all that it is cursed, BASIC manages it rather easily.

>there be any revenue generated in exchange for the massive expense? I
>think a reasonable person would conclude that it would be a very large
>investment against a zero prospect of a return on that investment. Then
>look at it from the standpoint of all of the major application vendors
>such as SAP, PeopleSoft, Siebel, Baan, etc. whose code sits on top of
>Oracle? How much of their code would need to be rewriten and retested?
>How about that in SQL*Navigator? TOAD? etc. Then then there is all of
>the code written by banks, government organizations, corporations,
>non-profits, etc. That little behavior of NULL is a very very big thing
>not like, for example adding ANSI joins to the ISO syntax.

          set emptystringhandling [null|empty] that is, a compatability setting.

>With joins Oracle can add a second syntax and resolve them to perform
>the same function. But with the difference in the behavior NULL it is
>not one that lends itself to if you see '' treat it one way sometimes
>and another way at other times. Maybe in new code written by end-users

     I would like it treated as an empty string all the time.

>but not in existing apps, not in the data dictionary, and not in the
>database engine.
>
>HTH explain it as I see it from where I stand.

Sincerely,

Gene Wirchenko Received on Thu Jan 20 2005 - 23:41:11 CET

Original text of this message