Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: NULL value

Re: NULL value

From: DA Morgan <damorgan_at_psoug.org>
Date: Wed, 28 Mar 2007 08:22:46 -0700
Message-ID: <1175095364.450890@bubbleator.drizzle.com>


nicolas.kaczmarski_at_gmail.com wrote:
> Hello,
>
> I work on Oracle 10.1
> I would like to delete line in a table where some fields can be "NULL"
>
> EX :
>
> DELETE T_NOTIFICATION
> WHERE DOMAIN_SEQ=p_domain_seq
> AND DATASET_SEQ = p_dataset_seq
> AND COUNTRY_SEQ = p_country_seq
>
>
> The parameters (p_...) can be NULL or not, if they are they must be
> deleted.
> Infortunatly, the test for the NULL value must be like that "myField
> IS NULL" and that doesn't work if field has a value ....
> Have you a good solution?
>
> I have one but I find its not very good :
>
> DELETE (SELECT NVL(DOMAIN_SEQ,0) DOMAIN_SEQ
> ,NVL(COUNTRY_SEQ,0) COUNTRY_SEQ
> ,NVL(DATASET_SEQ,0) DATASET_SEQ
> FROM T_NOTIFICATION) N
> WHERE DOMAIN_SEQ= NVL(p_domain_seq,0)
> AND (DATASET_SEQ = NVL(p_dataset_seq, 0))
> AND (COUNTRY_SEQ = NVL(p_country_seq, 0))
>
>
> This solution replace NULL with 0 to test in the table and in
> parameter.
>
> Thank You!
>
>
> In french
>
>
> Bonjour,
>
> Je developpe sur Oracle 10.1
> Je voudrais supprimer des lignes dans une tables dont certains champs
> peuvent être NULL.
>
> EX :
>
> DELETE T_NOTIFICATION
> WHERE DOMAIN_SEQ=p_domain_seq
> AND DATASET_SEQ = p_dataset_seq
> AND COUNTRY_SEQ = p_country_seq
>
>
>
> Les paramètres (p_...) peuvent être NULL ou pas, si ils le sont il
> faut les tester. Malheureusement, le test pour la valeur NULL doit
> être monchps IS NULL et ca ne va pas si il y a une valeur....
>
> Avez vous une solution?
>
> J'en ai trouvée une mais qui est "sale":
>
> DELETE (SELECT NVL(DOMAIN_SEQ,0) DOMAIN_SEQ
> ,NVL(COUNTRY_SEQ,0) COUNTRY_SEQ
> ,NVL(DATASET_SEQ,0) DATASET_SEQ
> FROM T_NOTIFICATION) N
> WHERE DOMAIN_SEQ= NVL(p_domain_seq,0)
> AND (DATASET_SEQ = NVL(p_dataset_seq, 0))
> AND (COUNTRY_SEQ = NVL(p_country_seq, 0))
>
>
>
> Cette solution consite à remplacer les valeurs NULL par 0 dans les
> données à tester et dans le paramètres.

Nothing equals NULL ... the syntax you want is

WHERE domain_seq IS NULL;

-- 
Daniel A. Morgan
University of Washington
damorgan_at_x.washington.edu
(replace x with u to respond)
Puget Sound Oracle Users Group
www.psoug.org
Received on Wed Mar 28 2007 - 10:22:46 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US