How to check null in pl sql values?

Hello

I have a sql query where I read the db column in a number of variables, some columns contain NULL values or empty varchars. How can I check if my variable contains all the data?

Thank you
J

to check to see if your variable contains the value null or use not like that

if v_variable is null 

If you are using

 if v_variable=NULL 

It's just according to the syntax, but it will not give you desired result

SQL> declare
  2  v_empname varchar2(20);
  3  v_comm number;
  4  begin
  5  select ename,comm into v_empname,v_comm from emp
  6  where empno=7839 and comm is NULL;
  7  dbms_output.put_line(v_empname);
  8  if v_comm is NULL then
  9  dbms_output.put_line(v_empname);
 10  end if;
 11  end;
 12  /
KING
KING

PL/SQL procedure successfully completed.

But if you plan to use = null, then you get no results

SQL> declare
  2  v_empname varchar2(20);
  3  v_comm number;
  4  begin
  5  select ename,comm into v_empname,v_comm from emp
  6  where empno=7839 and comm is NULL;
  7  dbms_output.put_line(v_empname);
  8  if v_comm = NULL then
  9  dbms_output.put_line(v_empname);
 10  end if;
 11  end;
 12  /
KING                   -------------king will get printed only once.

PL/SQL procedure successfully completed.

Tags: Database

Similar Questions

  • How to check the existence of a value in a table before copying the data?

    Experts,

    I have a requirement in which I need to copy data (4 columns) table A to table B (4 columns)

    Table A (entry)

    PART_ID PART_NAME PART_OPT_CD ENGG_OPT_CD

    1 "AAA" 10 100
    2 'BBB' 20 200
    3 'CCC' 30 300
    4 'DDD' 40 400
    5 'EEE' 50 500


    I have a table named OPTIONS with a single column. This is a table of reference of business which has the master list of option codes.

    OPT_CD
    10
    20
    30
    50
    60
    100
    200
    400
    500


    I need to copy Table A to Table B, but in doing so, I need to check the values of columns 3 and 4 in the OPTIONS array.
    If there is copy the folder B. Otherwise error in the log in a file/table and continue with the next copy

    TABLE B (exit)

    PART_ID PART_NAME PART_OPT_CD ENGG_OPT_CD

    1 "AAA" 10 100
    2 'BBB' 20 200
    5 'EEE' 50 500

    WARNING file or a table should have the details below.

    300 ENGG_OPT_CD does not exist in the table OPTIONS, so part_id 3 have not migrated
    40 PART_OPT_CD does not exist in the table OPTIONS, then part_id 4 have not migrated

    Company don't bother about the format of error, we need this information to correct the OPT_CD in the OPTIONS table.

    Can anyone suggest a better way to do this. Thank you for your help in advance

    Hello

    Its very similar to your previous post.
    Re: PL/SQL help
    The only difference being that you have to outer join to your superimposed master table, since your search in two columns values occur only in a single column on your Master table.

    Something like that;

    create table a (part_id number, part_name varchar2(10),part_opt_cd number,engg_opt_cd number);
    
    insert into a
    (select 1 Part_ID, 'AAA' Part_Name, 10 Part_Opt_CD, 100 ENGG_Opt_CD from dual union all
    select 2, 'BBB', 20, 200 from dual union all
    select 3, 'CCC', 30, 300 from dual union all
    select 4, 'DDD', 40, 400 from dual union all
    select 5, 'EEE', 50, 500 from dual union all
    select 6, 'FFF', 60, 500 from dual
    )
    /
    
    create table b (part_id number, part_name varchar2(10),part_opt_cd number,engg_opt_cd number);
    
    insert into b
    (select 1 Part_ID, 'AAA' Part_Name, 10 Part_Opt_CD, 100 ENGG_Opt_CD from dual union all
    select 2, 'BBB', 20, 200 from dual union all
    select 5, 'EEE', 50, 500 from dual
    )
    /
    
    Create table master (OPT_CD number);
    
    insert into master (
    select 10 opt_cd from dual union all
    select 20 from dual union all
    select 30 from dual union all
    select 50 from dual union all
    select 60 from dual union all
    select 100 from dual union all
    select 200 from dual union all
    select 400 from dual union all
    select 500 from dual
    )
    /
    
    create table log_msg
    (msg varchar2(100)
    ,t timestamp default current_timestamp)
    / 
    
    SQL> insert all
      2    when Master1_ID is not null and
      3         Master2_ID is not null then
      4      into b (Part_ID, Part_Name, Part_Opt_CD, ENGG_Opt_CD)
      5      values (Part_ID, Part_Name, Part_Opt_CD, ENGG_Opt_CD)
      6    when Master1_ID is null or
      7         Master2_ID is null then
      8      into log_msg (msg) values (Part_Opt_CD || ' ' || ENGG_Opt_CD || ' does not exist on the Master table')
      9  select m1.Opt_CD      as Master1_ID
     10        ,m2.Opt_CD      as master2_ID
     11        ,a.Part_ID      as Part_ID
     12        ,a.Part_Name    as Part_Name
     13        ,a.Part_Opt_CD  as Part_Opt_CD
     14        ,a.ENGG_Opt_CD  as ENGG_Opt_CD
     15  from (
     16        select a.Part_ID, a.Part_Name, a.Part_Opt_CD, a.ENGG_Opt_CD
     17        from a
     18        left outer join b on  a.Part_ID = b.Part_ID
     19        where b.Part_ID is null
     20      ) a
     21  left outer join master m1 on   a.Part_Opt_CD = m1.Opt_CD
     22  left outer join master m2 on   a.ENGG_Opt_CD = m2.Opt_CD
     23  /
    
    3 rows created.
    
    SQL> select * from log_msg;
    
    MSG                                         T
    ------------------------------------------- -------------------------
    40 400 does not exist on the Master table   05-OCT-11 09.44.17.621000
    30 300 does not exist on the Master table   05-OCT-11 09.44.17.621000
    
    SQL> select * from b;
    
       PART_ID PART_NAME  PART_OPT_CD ENGG_OPT_CD
    ---------- ---------- ----------- -----------
             1 AAA                 10         100
             2 BBB                 20         200
             5 EEE                 50         500
             6 FFF                 60         500
    

    Note, I have included an additional line in table A in order to prove that the INSERTION will occur in table B. Errors, as you can see have been inserted in the table LOG_MSG.

    Published by: bluefrog October 5, 2011 09:48

  • How to check whether or not the value is already in the collection

    Hello

    I'm in the analysis of a donkey of xml file assigning values to the collection.
    For each new record, that I am available for capture of xml, I need to check if this value already exists in the collection or not, and then only I must add this value to the collection.
    How we do that. I am not able to check whether or not it is already present in the collection. Help, please.

    Here is my code


    TYPE tab_A_type_rec IS RECORD)
    Name Varchar2 (50);
    );

    TYPE tab_A_type IS TABLE OF THE tab_A_type_rec;

    pkv_A_tab tab_A_type: = tab_A_type ();


    l_nl: = dbms_xslprocessor.selectnodes (dbms_xmldom.makeNode (l_doc), ' / / List "");
    for cur_rec in 0... dbms_xmldom.GetLength (l_nl)-1 LOOP
    l_n: = dbms_xmldom.item (l_nl, cur_rec);

    pkv_A_tab.extend; -----
    pkv_A_tab (pkv_A_tab. (Last). Name: = dbms_xslprocessor.valueOf (l_n,'Name / text () '); -I have to do these two steps only after checking whther that value is already present in the collection pkv_A_tab or not... What will be the stated case.

    end loop;


    Thank you
    Pramod

    Peter Gjelstrup wrote:

    Then in the final use TOGETHER to eliminate duplicates.

    The only problem - cannot use SET operator nested table records ;) or even on a table nested objects, unless the object type has map/delivery orders. Now if in real life, record type has only one attribute - NAME OP can just create type of TABLE OF VARCHAR2 (50). Then:

    SQL> declare
      2      type tab_A_type is table of varchar2(50);
      3      pkv_A_tab tab_A_type := tab_A_type('A','B','C','A','B','C','D');
      4  begin
      5  if 'B' member of pkv_A_tab
      6    then
      7      dbms_output.put_line('Found B.');
      8  end if;
      9  pkv_A_tab := set(pkv_A_tab);
     10  dbms_output.put_line('List of distinct elements:');
     11  for i in 1..pkv_A_tab.count loop
     12    dbms_output.put_line(pkv_A_tab(i));
     13  end loop;
     14  end;
     15  /
    Found B.
    List of distinct elements:
    A
    B
    C
    D
    
    PL/SQL procedure successfully completed.
    
    SQL>   
    

    SY.

  • How to check what estimate_percent has the value table

    I run exec dbms_stats.set_table_prefs('user','table','ESTIMATE_PERCENT','4');

    I want to see what the value is set for all tables...

    what I need to change the stat auto collection? or it will take 4% in the future?


    v11.2.0.2

    Try HR.JOBS for a given example table:

    SQL> select dbms_stats.get_prefs('ESTIMATE_PERCENT','HR','JOBS') from dual;
    
    DBMS_STATS.GET_PREFS('ESTIMATE_PERCENT','HR','JOBS')
    --------------------------------------------------------------------------------
    DBMS_STATS.AUTO_SAMPLE_SIZE
    

    To change it for all tables in all schemas, you need to use DBMS_STATS. SET_DATABASE_PREFS:

    SQL> exec dbms_stats.set_database_prefs('ESTIMATE_PERCENT',4);
    
    PL/SQL procedure successfully completed.
    
    SQL> select dbms_stats.get_prefs('ESTIMATE_PERCENT','HR','JOBS') from dual;
    
    DBMS_STATS.GET_PREFS('ESTIMATE_PERCENT','HR','JOBS')
    --------------------------------------------------------------------------------
    4
    

    Edited by: P. Forstmann Nov. 28. 2011 17:55

    Edited by: P. Forstmann Nov. 28. 2011 18:37

  • How to check the slider has no value?

    If a cursor retrieve all records we can verify before loop for?

    I googled for it and everyone agrees that its impossible to know before opening a box.

    Now, I put an exit but the same cursor take the time, cross the loop.

    OPEN cur_mapping.

    LOOP

    SEEK cur_mapping INTO rec_mapping;

    If found then % cur_mapping

    INSERT INTO...

    on the other

    "exit";

    end if;

    end loop;

    CLOSE Cur_mapping;

    sort of if there is no output selected lines of the loop.

    Hello

    You could do a count of the records before hand, but read on the PL/SQL manual could also help

    http://docs.Oracle.com/CD/E11882_01/AppDev.112/e25519/fetch_statement.htm#LNPLS01320

  • How to check if the variable (of type uint) has a value or not?

    Hi all

    I'm just trying to write an instruction conditional to check if my uint variable has a value or not.  I tried to check "null" and "undefined", but without any luck (see below)

    private var _tempIndex:uint;

    ...

    ...

    If (_tempIndex! = null) {}

    code here

    }

    had an error with that one, then tried

    If (_tempIndex! = undefined) {}

    code here

    }

    had an error with that as well.

    So, how can I check if a variable has been assigned a value or not? Any ideas? Thanks in advance!

    Mike

    A uint always has a value between 0 and 2 ^ 32-1 inclusive. It cannot store a value 'no' as undefined or null. If you declare a variable of type uint without assigning a value, it is given a default value of 0.

    You need to maintain an indicator Boolean separate or to use a type of data larger such as number (which can store NaN), object (which can store NaN or null), or * (which can store a value, including NaN, null, and undefined).

    Gordon Smith

    Adobe Flex SDK team

  • How to check if the value of text is in a view accessor? How can I check for validation?

    Hi Experts ADF,

    JDeveloper 12.1.1.3.0

    I have a VO with a Segment1 column. And I have an accessor in my VO as SegmentVA which contains all the numbers.

    So in the user interface, I'm having a Segment1 as an inputText. The user should then enter values in inputText.  How can I check to validate that the value you enter must be valid within the ViewAccessor.

    Thank you

    Animesh

    You can use a declarative approach and define the Validation rule on EO attribute.

    Or you can create the method in your ViewObjectImpl class, expose this method as a customer interface, create custom for your input field validator and invoke the VO method from there.

    Dario

  • How to check if a numeric value is around or not?

    Hello

    A form in LiveCycle Designer ES4, how to check (at the exit of field), if a numeric value is around or not?

    Hello

    You can verify if the rawValue contains a ', 'or'. ' using indexOf

    like the following

    If (NumericField1.rawValue.toString (.indexOf(","))! = - 1 |) NumericField1.rawValue.toString (.indexOf("."))! = -1) {}

    This is not an integer

    }

    Hope this will help you

  • How to check the page dirty with default values existing in viewObject?

    Hi all

    I use JDeveloper 11.1.1.4.

    I have two pages in my application. I am browsing for page2 page1.

    Before opening page 2 I created new line page 2 notice of object using method 'Create Insert()' with some default values by using the ViewRowImpl class.

    My problem is that I have a button to return to Page 2. If I click the back button, then check the Application module is dirty or not.

    But it always shows AM is dirty due to I'm setting some default values in ViewRowImpl. If I avoid the default values in ViewRowImpl then AM dirty check works fine.

    My Question is how to check the AM (or) dirty Page with default values in the object view?

    My bean Codes:

    Links DCBindingContainer = (DCBindingContainer) BindingContext.getCurrent () .getCurrentBindingsEntry ();

    DataControl dc = bindings.findDataControl("AppModuleDataControl");

    ApplicationModuleImpl am = ((ApplicationModuleImpl) dc.getDataProvider ());

    If (am.getDBTransaction (.isDirty (()))

    {

    return "Page is dirty."

    }

    My Jspx Codes:

    < af:commandLink id = "cl6" text = '2 '.
    shortDesc = "Add Row in Page2"
    actionListener = "#{bindings." Action CreateInsert.execute}' = 'Edit' >

    Thank you

    David...

    see this

    http://www.techartifact.com/blogs/2013/11/how-to-check-ifdirty-is-modified-for-view-object.html

    http://www.jobinesh.com/2011/05/checking-for-dirty-data.html

  • How to check the link sneak is going for a sql

    Hi team,

    11.2.0.3.5, RHEL-6 on 64-bit, 2-node RAC.

    We have been continually facing performance issues after upgrade to 11 g. SQLs were very good when we are in 10g and they began to follow not optimized plans. I heard that "automatic cursor sharing" is enabled by default in GR 11, 2. But how to check, if a sql stealthily to its dregs id? Can someone share the query if you have?

    And also, all the links in this regard suggest me pls.


    Thank you

    Hari

    (PS: I posted a query even under performance tuning task, but publish again for immediate assistance).

    David s thank you :-) I'll take a look.

  • How to check the value of the main forces?

    Run the following command:

    sure emctl console - self_signed-key_strength 1024

    But, how to check if this value has been updated correctly?

    Thank you

    Hello

    You can see the key_strength of the following navigation:

    From the browser to work, enter the URL for the console.
    There should be a lock next to the url of a red cross next to him.
    Click on the padlock (see site information)
    Click on "certificate information".
    Click on "Details".
    Scroll down to the public key
    they must be RSA(1024 bits) if the command changed successfully or he'll tell RSA (512 bits).

    Thank you
    Vincent

  • How to check that the variable 'does not contain' value?

    Hello

    I use CP 7.0.1.237.

    We want to use the widget text box for a custom quiz and verify a response. While we understood how to check the existence of certain key words, we are not able to find a way to check that the content does NOT contain certain keywords. For example, we want to ensure that the text entered in this widget does not contain a "Transformation" and "Non-compliant.

    Is this possible at all?

    Thank you

    Anthony

    Anthony, it works perfectly. Created this conditional action with 4 decisions. I used the interaction of training text scrolling in CP8 (because now you can control the variable - which means I might have a Reset button):

    First decision:

    Second decision (the third is similar to the following)

    Fourth and final decision

    I put the variable words (v_first... v_fifth), it's a reflex I use since I shared actions that much. The variable associated to the ETB (you can now reset an empty var in CP8) is v_TextArea and the Boolean value that will decide if positive feedback (StarOK) should be shown is v_TA_OK. If you want to display a negative feedback, put this in the ELSE part of the final decision.

    FYI: it took 15 minutes, including the creation of assets and the variables and tests. Personally I would have needed more time to do it in JS, but that's just me.

    Lieve

  • How to exclude null values?

    Hello
    How to exclude null values when populating a temporary table?

    Thank you
    Sollier

    Hi, Sollier,

    It depends on.
    Maybe

    WHERE   coloumn_a  IS NOT NULL
    

    If you need help, post a small example of data (CREATE TABLE and INSERT statements) and the results that you want from these data (in this case, the content of the table is filled).

  • How to check the value of the space of the tablespaces and tables when errors occur?

    Hi Experts,

    For example, lets say we get ORA-01653: unable to extend table of error. How to check the size of the table and a tablespace? And how understanding is full?

    Thanks for your help

    Hello

    Select df.tablespace_name "Tablespace"

    totalusedspace 'Used MB',

    (df.totalspace - tu.totalusedspace) "MB free.

    DF. TotalSpace 'Total MB. "

    round (100 * ((df.totalspace-tu.totalusedspace) / df.totalspace))

    "PCT free."

    Of

    (select nom_tablespace,

    Round (Sum (bytes) / 1048576) TotalSpace

    from dba_data_files

    Group by tablespace_name) df,.

    (select round (sum (bytes) /(1024*1024)) totalusedspace, nom_tablespace)

    from dba_segments

    you group by tablespace_name)

    where df.tablespace_name = tu.tablespace_name

    and df.tablespace_name = "";

    For example, lets say we get ORA-01653: unable to extend table of error. How to check the size of the table and a tablespace? And how understanding is full?

    Is to say clearly to the question (you can let us know what you have understood so we can fix)

    [oracle@machine1 ~] $01653 oerr ora

    01653, 00000, "impossible to extend %s.%s table by %s in %s tablespace»

    * Cause: Failed to allocate a certain measure the required number of blocks for

    a segment of the table in the specified tablespace.

    * Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more

    storage of files indicate.

    -Thank you

    Pavan Kumar N

  • How to check the arhice mode is on or not according to the pl/sql procedure

    Hello

    I'm trying to figure out how to check the mode archive inside begin end block. Basically, I'm developing a procedure that returns in mode archive.

    I know that the following command returns the status of fashion archive but I can't do the job inside the begin end block.

    "list of archive logs.

    I'll be appricated if you show me how to call the above command inside begin end block.

    Kind regards.

    Hello

    If you want to see archive log mode is activated, you can simply check V$ database.

    select log_mode from v$database
    

    That is what you want, or is there something more, you need?

    David

Maybe you are looking for

  • Content management for children

    I have a mini iPad 2 9.3.2 running ios. I want to leave my daughter to use iPad to select music in my iTunes library. I transferred the approved content. However, when the wifi is enabled on our home network, all photos in our iTunes library are disp

  • How can I easily count the number of contacts in my address book?

    Is there anyway to make the address book show the number of contacts? When I click on a folder, it shows all the contacts in the folder, but I can't see any display of the total number of contacts - if I want to know I have to laboriously count every

  • HP Elite 8200 ultra-Slim: graphics card

    HelloI have a desktop Hp Elite ultra-flat 8200 and I wanted to get a graphical upgrade, so I decided to buy an ATI Radeon 5450 mxm 512 MB discrete graphics card, when I put in my computer and turned on, I could not find the drivers, my screen has bee

  • Satellite 2180CDT/4.3 GB hard drive

    Hd on this machine is broken and I need to replaceAnyone know if a 20 or 40 GB will format and install Windows. I have win98se so can I need info on readers for this satellite

  • Satellite A200 - upgrade to 1 tera HARD drive

    Hi guys,.MY laptop Satellite A200-10w, I want to ask you if there is a place to install the second HARD drive or not, and then I put my 1 TB HDD (1 tera) or the motherboard does not support this? Thank you