How to Refer Tablename.Column in IF

Hi
I am new to PL/SQL programming
I have situation where I have to refer tablename.columnname
ex
psuedocode
if tablename .columnname exist Raise Exception F1
else if
process this block
end;
exception F1
Thanks,

there are some values in empno
My question is if the value in empno column already
matches with the user input
then raise exception
or else
process the block
if user inputs 4 it should raise exception
if user inputs 5 it should process else block
test@XE>
test@XE> @test
test@XE> --
test@XE> drop table emp;
Table dropped.
test@XE> create table emp (empno) as
  2  select rownum from all_objects
  3  where rownum <= 4;
Table created.
test@XE>
test@XE> --
test@XE> select * from emp;
     EMPNO
         1
         2
         3
         4
test@XE>
test@XE> --
test@XE> declare
  2    n_user_input      emp.empno%type;
  3    n_empno        emp.empno%type;
  4    e_value_exists exception;
  5  begin
  6    n_user_input := '&empno';
  7    select empno
  8    into n_empno
  9    from emp
10    where empno = n_user_input;
11    raise e_value_exists;
12  exception
13    when e_value_exists then
14      raise_application_error(-20001,'The input empno exists in emp table...');
15    when no_data_found then
16      -- go ahead and start processing
17      dbms_output.put_line('We shall start processing now...');
18  end;
19  /
Enter value for empno: 4
declare
ERROR at line 1:
ORA-20001: The input empno exists in emp table...
ORA-06512: at line 14
test@XE> /
Enter value for empno: 5
We shall start processing now...
PL/SQL procedure successfully completed.
test@XE>
test@XE> isotope

Similar Messages

  • How to refer a column value of a single row in conditional column display?

    Hello,
    does anybody have an idea, how i can refer a column value of a single row in conditional display of a column?
    So my idea is, that a report has a column, which value is only displayed, when another column value of this row has a specific value.
    I want to solve this problem with condition type: PL/SQL Function Body returning a boolean.
    But I do not know how to refer the column value of each single row!
    Thank you,
    Tim

    Here's a solution that, to me, seems easier to implement but, that's, of course, in the eye of the implementer.
    Rather than using APEX to generate a link column for you, actually create the link as part of your SQL.
    select '<a href="f?p=102:3:491847682940364::::P3_CONTACT_ID:' || CONTACT_ID || "><img src="/i/themes/theme_1/ed-item.gif" alt="Edit"></a>' CONTACT_LINK, ...
    etc.
    Test this out. You'll see that it works just like making a column a link using the column attributes.
    Next, we'll change the SQL to use a DECODE statement to either display the link or nothing depending on what your criteria is. For example, let's assume you only want a link for active contacts.
    select Decode( CONTACT_STATUS, 'A', '<a href="f?p=102:3:491847682940364::::P3_CONTACT_ID:' || CONTACT_ID || "><img src="/i/themes/theme_1/ed-item.gif" alt="Edit"></a>', NULL ) CONTACT_LINK, ...
    etc.
    This will not display the link in any rows in which the CONTACT_STATUS is not active, i.e. "A"
    -Joe

  • How to refer a column name in form report

    Hi,
    How can i refer a column name in the form report. My issue is that " I have a form report in that i have column name when i use to click the column name it should bring me to next page with the corresponding values of the column."
    Here i have achieved that when i click on column name(in Page1) it brings me to next page(Page2). but in the next page(P2) i want to display(only display) the corresponding values of the selected column(Page1) but the values should not be editable and should not be in text field it should be in display only field.
    So how can i write a sql query in display only souce field. Ie, how can i refer the column name in(page1) form report.

    Hi Karthik
    Very good morning.
    I think u have column link in the first page and when u select a data in the first page and when u r moving to the next page the the corresponding data need to there is it correct.
    For example You have table Employee and u have a select list in the first page contains name of the employee when u select one name and corresponding datas of the employee need to be in the second page.
    So Dont clear the cache of the first page.
    I the next page make the page items as display only and give the source of the all items a returning the single sql query.
    If u have four items in the next page namely p2_sal, P2emp_no etc..
    Then use like this
    select sal from emp where emp_name=:P1_EMPNAME
    Hopes this might helps you.
    Thanks & Regards
    Srikkanth.M

  • How to refer a column in a calculated column in Answers Criteria

    Hi All,
    I have a set of columns (which contains column level filters).
    I also have 2 more calculated columns whose formula is based on the earlier columns (like (col1-col2)/col1 ).
    Presently, i'm using the col1 and col2 formulas and placed them in the calculated cols.
    Instead, is there any way to refer to the columns(col1, col2) without placing its col formula, in the calculated column.
    is there any such thing like.. ({c1} - {c2}) / {c1}
    Thank you,
    Raghu

    Hi,
    Thank you for the replies.
    actually i have a huge formula in 'col 1' and 'col 2' as well
    and in the new calculated col, i'm again using that huge formula to implement the logic col1-col2/col1.
    so, will this affect the performance.?
    or the performance will be the same?
    Thank you,
    Raghu

  • Topic: How to refer columns with same name in jdbc

    I have a join statement :
    Select a.col1, a.col2, b.col3, b.col2 from TABLE1 a, TABLE2 b where a.col1 = b.col1
    how do I refer with same column name suppose I want to get b.col2
    I get error when I try rs.getString("b.col2") or
    rs.getString("TABLE2.COL2")..
    note I donot want positional retrieval i.e rs.getString(x) , where x is column number.
    can you suggest how to refer the b.col2 uniquely.

    Select a.col1, a.col2, b.col3, b.col2 from TABLE1 a,
    TABLE2 b where a.col1 = b.col1You can use a column alias, like below. They "as" keyword isn't always necessary, depends on your database.
    Select
        a.col1 as a_col1,
        a.col2 as a_col2,
        b.col3 as b_col3,
        b.col2 as b_col2
    from
        TABLE1 a,
        TABLE2 b
    where
        a.col1 = b.col1

  • How to refer report items?

    Hi,
    How to refer the report items?
    I have standard sql report region contains 3 columns.
    doc_id,doc_name and No_units.all three items are apex item.
    below is my sql query for report.
    APEX_ITEM.SELECT_LIST_FROM_QUERY(17,doc_id,'select s_id from         
    sales')"doc id",
    apex_item.text(18, doc_name) "doc name",
    apex_item.text(19,  No_units) " No units",null
    from sale_docMy intention is to fire a dynamic action when event change in doc_id. So in when tab what i have to assign in item(s) fields for doc_id. i gave *#doc_id#* in items(s) field it doesnt work.
    how to resolve this?

    any help?

  • How to use the column names generated from Dynamic SQL

    Hi,
    I have a problem with Dynamic SQL.
    I have written an SQL which will dynamically generate the Select statement with from and where clause in it.
    But that select statement when executed will get me hundreds of rows and i want to insert each row separately into one more table.
    For that i have used a ref cursor to open and insert the table.
    In the select list the column names will also be as follows: COLUMN1, COLUMN2, COLUMN3,....COLUMNn
    Please find below the sample code:
    TYPE ref_csr IS REF CURSOR;
    insert_csr ref_csr;
    v_select VARCHAR2 (4000) := NULL;
    v_table VARCHAR2 (4000) := NULL;
    v_where VARCHAR2 (4000) := NULL;
    v_ins_tab VARCHAR2 (4000) := NULL;
    v_insert VARCHAR2 (4000) := NULL;
    v_ins_query VARCHAR2 (4000) := NULL;
    OPEN insert_csr FOR CASE
    WHEN v_where IS NOT NULL
    THEN 'SELECT '
    || v_select
    || ' FROM '
    || v_table
    || v_where
    || ';'
    ELSE 'SELECT ' || v_select || ' FROM ' || v_table || ';'
    END;
    LOOP
    v_ins_query :=
    'INSERT INTO '
    || v_ins_tab
    || '('
    || v_insert
    || ') VALUES ('
    || How to fetch the column names here
    || ');';
    EXECUTE IMMEDIATE v_ins_query;
    END LOOP;
    Please help me out with the above problem.
    Edited by: kumar0828 on Feb 7, 2013 10:40 PM
    Edited by: kumar0828 on Feb 7, 2013 10:42 PM

    >
    I Built the statement as required but i need the column list because the first column value of each row should be inserted into one more table.
    So i was asking how to fetch the column list in a ref cursor so that value can be inserted in one more table.
    >
    Then add a RETURNING INTO clause to the query to have Oracle return the first column values into a collection.
    See the PL/SQL Language doc
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/returninginto_clause.htm#sthref2307

  • How to extract the column width in ALv report if its executed in background

    I am executing an ALV report in background , in front end i am getting data properly, in back end for some columns some of the digits are missing.For example if PO no is of 10 digits it will display only 8 becos column size is like that , how to extract coulmns in back ground.
    I have executed in background and checked the spool and  for some of the columns width is not sufficient to display comeplete data so please suggest how to extract the columns sizes if executed inj background for an ALV

    Hi Deepthi,
    you can try with the above mentioned suggestions ,if its worked its fine ,
    If not use Docking container instead of custom container, For ALV in back ground jobs, its suggest to use docking container instead of custom container , below you can find the declaration for docking container and code to use docking and custom container in your program for fore and back ground.
    or you can use docking container alone for both operations.
    Data : G_DOCK1 TYPE REF TO CL_GUI_DOCKING_CONTAINER,
    IF CCON IS INITIAL. (ccon is container name )
    *Check whether the program is run in batch or foreground
        IF CL_GUI_ALV_GRID=>OFFLINE( ) IS INITIAL.
    *Run in foreground
          CREATE OBJECT CCON
            EXPORTING
              CONTAINER_NAME = 'CON1'.
        CREATE OBJECT GRID1
            EXPORTING
              I_PARENT = parent_1.
    ELSE.
    *Run in background
          CREATE OBJECT GRID1
            EXPORTING
              I_PARENT = G_DOCK1.
        ENDIF.
      ENDIF.
    B&R,
    Saravana.S

  • How to pull only column names from a SELECT query without running it

    How to pull only column names from a SELECT statement without executing it? It seems there is getMetaData() in Java to pull the column names while sql is being prepared and before it gets executed. I need to get the columns whether we run the sql or not.

    Maybe something like this is what you are looking for or at least will give you some ideas.
            public static DataSet MaterializeDataSet(string _connectionString, string _sqlSelect, bool _returnProviderSpecificTypes, bool _includeSchema, bool _fillTable)
                DataSet ds = null;
                using (OracleConnection _oraconn = new OracleConnection(_connectionString))
                    try
                        _oraconn.Open();
                        using (OracleCommand cmd = new OracleCommand(_sqlSelect, _oraconn))
                            cmd.CommandType = CommandType.Text;
                            using (OracleDataAdapter da = new OracleDataAdapter(cmd))
                                da.ReturnProviderSpecificTypes = _returnProviderSpecificTypes;
                                //da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                                if (_includeSchema == true)
                                    ds = new DataSet("SCHEMASUPPLIED");
                                    da.FillSchema(ds, SchemaType.Source);
                                    if (_fillTable == true)
                                        da.Fill(ds.Tables[0]);
                                else
                                    ds = new DataSet("SCHEMANOTSUPPLIED");
                                    if (_fillTable == true)
                                        da.Fill(ds);
                                ds.Tables[0].TableName = "Table";
                            }//using da
                        } //using cmd
                    catch (OracleException _oraEx)
                        throw (_oraEx); // Actually rethrow
                    catch (System.Exception _sysEx)
                        throw (_sysEx); // Actually rethrow
                    finally
                        if (_oraconn.State == ConnectionState.Broken || _oraconn.State == ConnectionState.Open)
                            _oraconn.Close();
                }//using oraconn
                if (ds != null)
                    if (ds.Tables != null && ds.Tables[0] != null)
                        return ds;
                    else
                        return null;
                else
                    return null;
            }r,
    dennis

  • How to avoid blank column display in output in ALV TREE

    how to avoid blank column display in output while decreasing the length of other columns in ALV Tree.
    Example: please refer to BCALV_TREE_01 and see the output, then decrease the length of all columns . Then you can see a blank column appearing in screen at last, i.e in container. so how to avoid that.
    Thanks for reply.
    Edited by: morpeous on Jul 1, 2009 1:53 PM

    Hi,
    Check BCALV_TREE_02 on how to hide columns.
    Thanks & Regards,
    Anand Patil

  • How to increase the column size of Alv tbale

    Hi All,
    I created an Alv table to display the content of my database table. In one of the column the entire data from my database are not displayed the last few characters are missing. The data type for that column in the database is char. Can any one help me how to increase the column size in my Alv table or any suggestions to resolve this issue.

    Hi Vadiv,
    Try with this..
    DATA: LR_IF_CONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE,
    LR_CMP_USAGE TYPE REF TO IF_WD_COMPONENT_USAGE,
    LR_CMDL TYPE REF TO CL_SALV_WD_CONFIG_TABLE,
    LR_TABLE_SETTING TYPE REF TO IF_SALV_WD_TABLE_SETTINGS.
    LR_CMP_USAGE = WD_THIS->WD_CPUSE_ALV( ).
    IF LR_CMP_USAGE->HAS_ACTIVE_COMPONENT( ) IS INITIAL.
    LR_CMP_USAGE->CREATE_COMPONENT( ).
    ENDIF.
    " get reference to the ALV model
    LR_IF_CONTROLLER = WD_THIS->WD_CPIFC_ALV( ).
    LR_CMDL = LR_IF_CONTROLLER->GET_MODEL( ).
    LR_TABLE_SETTING ?= LR_CMDL.
    " Set column width
    DATA LR_COL TYPE REF TO CL_SALV_WD_COLUMN.
    LR_COL = LR_CMDL->IF_SALV_WD_COLUMN_SETTINGS~GET_COLUMN( 'PERNR' ).
    LR_COL->SET_WIDTH( '70' ) .
    LR_COL = LR_CMDL->IF_SALV_WD_COLUMN_SETTINGS~GET_COLUMN( 'ENAME' ).
    LR_COL->SET_WIDTH( '100' ) .
    LR_TABLE_SETTING->SET_FIXED_TABLE_LAYOUT( ABAP_TRUE ).
    You can refer to webdynpro component SALV_WD_TEST_TABLE_PROPS. Go to the view TABLE and look inside the method SET_COLUMN_SETTINGS. I hope this will help you.
    Cheers,
    Kris.

  • How to refer a particular filed of a Table data type

    DECLARE
              CURSOR C1 IS SELECT
                                       GLUSR_USR.GLUSR_USR_ID BYER_ID,
                                       GLUSR_USR.GLUSR_USR_ADD1 BUYER_ADD
              FROM
                   GLUSR_USR
              WHERE
                   ROWNUM<=5;
    TYPE TBL_TYPE IS TABLE OF C1%ROWTYPE;
    TBL TBL_TYPE;
    BEGIN
         OPEN C1;
         FETCH C1 BULK COLLECT INTO TBL;
         CLOSE C1;
         FORALL I IN 1..TBL.COUNT
         INSERT INTO SATYA_TEMP VALUES(TBL.BYER_ID,TBL.BUYER_ADD);(How to use a particular field of TBL in this case).
         --INSERT INTO SATYA_TEMP VALUES TBL(I); (I know this)
    END;
    My question is how to refer a particular field of table type..?
    Please suggest.

    Then you have to create a record type and give all the columns inside it as given below.
    Then you can create a variable for this type and use it
    Type IS RECORD OF
    columnname1 table_name.column_name1%type,
    columnname2 table_name.column_name2%type,
    columnname3 table_name.column_name3%type,
    OR Use
    rec table%ROWTYPE;
    Edited by: Geek vishal on Aug 4, 2011 12:54 PM

  • How to Refer an Internal Table's field by index

    I have a internal table with 10 columns,
    how can i refer the column with it's index.
    something like  field(1) or field(2) etc.
    Thanks in Advance
    Arun Kumar

    Dear Durairaj Athavan Raja 
    You might be knowing, In HR, in the table PA0008, basic may stored in any of the field from BET01 to BET20.
    This is based on the wage type , which is once again stored in LGA01 to LGA20.
    if i want to get the basic of a particular employee,
    i'll execute a query for pa0008,
    select * from pa0008 into corresponding fields of taable itpa008 where pernr = '1234'.
    if i am able to get the field value thro index of a field,
    my cod will be
    loop at itpa0008.
        if itpa0008-LGA(index) = '1001'.
          actbasic = itpa0008-BET(index).
        endif.
    endloop.
    now variable actbasic will have the basic of that particular employee.
    orelse, i have to check from LGA01 to LGA20 manually using if statement.
    How can i achive this.
    thanks in advance
    Arun

  • How to refer dynamic node?

    Hi All
    I create dynamic table with dynamic node.  Table has one row, and one of the column is Button, if i click on this button i want to add on more empty row of same structure as above row with some changes. If we declare node in context for adding row we follow this code...
    data: lr_node type ref to if_wd_context_node,
    ls_struc type if_main_view=>element_nomenclature.
    lr_node = wd_context->get_child_node( if_main_view=>wdctx_nomenclature ).
    lr_node->bind_element( new_item = ls_struc set_initial_elements = abap_false ).
    But here i  create node dynamycally.  how to refer dynamic node, and how to create row??
    Thanks,
    Madhan.

    Use
    data lr_element type ref to if_wd_context_element.
    lr_element = lr_node->create_element(  ).
    lr_node->bind_element( new_item = lr_element set_initial_elements = abap_false ).
    thanks
    sarbjeet singh

  • How to make a column in Table popin read only

    Hi Everyone
    Could anyone let me know how to make a column in table popin read only.
    Regards

    if you ar eusing an ALV table
    try this
      DATA: lr_salv_wd_table TYPE REF TO iwci_salv_wd_table,
            r_table TYPE REF TO CL_SALV_WD_CONFIG_TABLE.
    * get reference to ALV component interface
      lr_salv_wd_table = wd_this->wd_cpifc_alvmain( ).
    * get ConfigurationModel from ALV Component
      wd_this->r_table = lr_salv_wd_table->get_model( ).
    * init ColumnSettings
      DATA: lr_column_settings TYPE REF TO if_salv_wd_column_settings,
            lr_col_header TYPE REF TO cl_salv_wd_column_header.
      lr_column_settings ?= wd_this->r_table.
    * get table of column settings - each line one column
      DATA: lt_columns TYPE salv_wd_t_column_ref.
      lt_columns = lr_column_settings->get_columns( ).
    * loop over table - in each loop another column can be modified
      DATA: ls_column TYPE salv_wd_s_column_ref.
    * define visible columns (fields) by naming them,
    * exclude others by setting visibility to none
      DATA: ls_tooltip TYPE string.
      LOOP AT lt_columns INTO ls_column.
        " get header of column
        lr_col_header = ls_column-r_column->get_header( ).
        " do settings here
    ENDLOOP.
    Or see this document for more tips.
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40794172-b95a-2910-fb98-b86d8a0918b4">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40794172-b95a-2910-fb98-b86d8a0918b4</a>
    regards,
    Joris

Maybe you are looking for

  • FCP 6 won't open

    I just reinstalled FCP Studio 2 and FCP 6, compressor, Motion or Soundtrack Pro will open. DVD Studio Pro, Live Type and Cinema Tools will. Yes I trashed the preferences and added the updates?

  • InDesign File "Stuck" Printing 2-Sided

    I opened an old Indesign (I think CS3) file this morning and converted it to CS4. Whenever I attempt to print the document, it does so as 2-sided even though the print dialog 2-sided option is off. I am on a mac running 10.6.3 with an HP printer. Tur

  • Navigate to next page based on inputtext input

    hi i have a situation where i have to enter value in inputtext and navigate to next page and display values in lov in next page based on the value entered in inputtext,and able to make selection in lov and navigate to next page and display value on l

  • My iphone 4 will not charge from the outlet have to charge it from my computer

    my iphone 4 will not charge from the outlet have to charge it from my computer

  • WHAT is an event? Really, it's totally confusing.

    Seriously, what IS an EVENT? Is it a new thing made up by Apple to utterly confuse, depress and finally totally squash a users creative flow? I have events which lead to nowhere, or lead to pictures of the same scan series but in an organizational pa