ForeignKey Referencing only one column of a primary key created on 2 column

Let me explain the scenario
Table1
=====
studentno
identityno
marks
above table has primary key on - studentno and identityno
Table2
=====
studentno
remarks
now, because 2nd table has just studentno and not identityno, we cant add foreign key studentno but the requirement is to have some kind of referential integrity constraint on studentno of table2, so that it checks if that is present in table1
Is there any way to solve this ?

Homework?
Yes this is possible by adding an unique constraint on Table1.StudentNo. Also, since StudentNo will then be subject to two different unique constraints in Table1, inserting a row in Table1 would be a headache.
Another alternative would be to have a trigger on Table2 which checks the integrity but that is re-inventing the wheel.
but the requirement is to have some kind of referential integrity constraint on studentno of table2, so that it checks if that is present in table1I would rather re-design the table structure in this case. Current structure makes no sense to me.
Message was edited by:
Satish Kandi
@Leo: Sorry I did not refresh before posting so did not see your response.

Similar Messages

  • Set filter for only one column in tableview

    Hi
    i am using in MVC a htmlb:tableview with filter in only one column of 8.
    This is all working fine, except that the user can enter a searchsting in the filterfield for all columns, but in handle_event (of the controller) ; i only react to a text in the filterfield of column 4 and ignore all other filtertext , which were maybe entered in the other columns.
    My question:
    how can i  enter the filter only for one column, in a way that the user cannot enter any text in the filterfield of the other columns, only in column 4 ?
    my view:
    <htmlb:tableView id             = "requirements"
                     table          = "//model/pdst_reqs"
                     filter         = "APPLICATION"                
                     keyColumn       = "EXTID"
                     iterator        = "<%=model%>"
                     footerVisible   = "FALSE"
                     encode          = "TRUE"
                     visibleRowCount = "<%=model->rowcount%>"
                     width           = "100%"/>
    Best Regards
    Britta

    You can disbale the Filter for the particular column by setting the DISABLE_FILTER in the Iterator method IF_HTMLB_TABLEVIEW_ITERATOR~GET_COLUMN_DEFINITIONS. Here is the sample code
    method IF_HTMLB_TABLEVIEW_ITERATOR~GET_COLUMN_DEFINITIONS .
      CLEAR p_column_definitions.
      CLEAR p_overwrites.
      data tv_column TYPE TABLEVIEWCONTROL.
      tv_column-COLUMNNAME          = 'FLDATE'.
      tv_column-SORT                = 'X'.
      tv_column-EDIT                = 'X'.
      tv_column-ONCELLCLICK         = 'MyCellClick1'.
      tv_column-title               = 'Date '.
      APPEND tv_column TO p_column_definitions.
      CLEAR tv_column.
      tv_column-COLUMNNAME          = 'PRICE'.
      tv_column-horizontalAlignment = 'right'.
      tv_column-verticalAlignment   = 'middle'.
      tv_column-ONCELLCLICK         = 'MyCellClick2'.
      tv_column-title               = 'Currency'. 
      tv_column-EDIT                = 'X'.
      tv_column-DISABLE_FILTER      = 'X'.    " <-------Like this
      APPEND tv_column TO p_column_definitions.
    endmethod.
    Hope this will solve your problem.
    Raja

  • Access for update only one column in table?

    Hi all,
    My need is to grant access for update only one column c1 in table t1.
    I guess I should use view, could you please give me some example? Maybe other ideas?

    Hi,
    You can grant privileges on individual columns.
    GRANT   UPDATE (c1)
    ON      t1
    TO      grantee_name;Look up GRANT in the SQL language manual. Annoyingly, in recent editions of the manual, GRANT is not indexed, but it's in alphabetic order with all the other statements:
    http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_9013.htm#i2155015

  • EA2: Code is generated for only one column with Domain check constraint.

    I created a Domain with a Value List (Y or N - Yes or No) and used that domain for two columns in the same table. But for only one column (the last one) the check appears in the generated DDL.
    After I enabled the "Use Domain Constraints" both checks appear in the DDL, but one as an inline check constraint and one as an "Alter table add contraint.."
    Once I changed the naming Template for the check constraint, both constraints are generated as an Alter table clause. The inline check constraint is only generated when the name of the constraint (according to the template) is too long. It would be nice if I could choose if I want an inline or a separate check constraint definition.
    Edited by: Roel on Nov 23, 2010 11:55 AM
    Edited by: Roel on Nov 23, 2010 12:02 PM

    I logged ER for that
    Philip

  • How to make only one column non reorderble

    I want to make only one column (Column 0) of my JTable non reorderble.
    I also want to make the same column non resizable and I want to give it a specific size.
    Please help me on this?

    I have implemented a RowHeaderTable class which displays 1, 2, 3, ... in the first column. The column is in the scrollpane's RowHeaderView, so it is not resizable nor reorderable. But its width can be set in your code. Maybe this is what you need.
    Use the class the same way you use a JTable, except 3 added methods:
    getScrollPane();
    setMinRows(int r);
    setRowHeaderWidth(int w);
    Note: The table works perfectly in skinless L&F, such as the default java L&F. It looks ugly in Liquid L&F because I don't know how to steal column header's UI to use on a JList. If someone can help me on this one, I thank you in advance.
    * RowHeaderTable.java
    * Created on 2005-3-21
    * Copyright (c) 2005 Jing Ding, All Rights Reserved.
    * Permission to use, copy, modify, and distribute this software
    * and its documentation for NON-COMMERCIAL purposes and without
    * fee is hereby granted provided that this copyright notice
    * appears in all copies.
    * JING DING MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE
    * SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING
    * BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY,
    * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. JING DING
    * SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT
    * OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
    import java.awt.BorderLayout;
    import java.awt.Component;
    import javax.swing.AbstractListModel;
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.ListCellRenderer;
    import javax.swing.UIManager;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.JTableHeader;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.table.TableColumn;
    import javax.swing.table.TableModel;
    * @author Jing Ding
    public class RowHeaderTable extends JTable {
      private int minRows = 10;                         // Minimum size of the row header.
      private static final int DEFAULT_WIDTH = 30;
      private JScrollPane jsp;
      // The row header is a JList with the same appearance as the column header.
      private JList rowHeader;
      // Repaint row header whenever the table inserts or deletes rows.
      private TableModelListener tmListener = new TableModelListener(){
        public void tableChanged(TableModelEvent e){
          if(e.getType() != TableModelEvent.UPDATE)
            rowHeader.repaint();
      /** Create a new instance of RowHeaderTable.
       * @param model
      public RowHeaderTable(TableModel model){
        setModel(model);
        initializeHeader();
        jsp = new JScrollPane(this);
        jsp.setRowHeaderView(rowHeader);
      private void initializeHeader(){
        rowHeader = new JList(new AbstractListModel(){
          public int getSize(){ return Math.max(getModel().getRowCount(), minRows); }
          public Object getElementAt(int index){ return "" + ++index; }
        setRowHeaderWidth(DEFAULT_WIDTH);
        rowHeader.setFixedCellHeight(getRowHeight());
        rowHeader.setCellRenderer(new TableRowHeaderRenderer());
      public void setRowHeaderWidth(int w){
        rowHeader.setFixedCellWidth(w);
      public void setMinRows(int m){ minRows = m; }
      public void setModel(TableModel model){
        super.setModel(model);
        model.addTableModelListener(tmListener);
      /**Use this method to get the scrollPane, instead of new JScrollPane(table).
       * @return
      public JScrollPane getScrollPane(){ return jsp; }
      protected class TableRowHeaderRenderer implements ListCellRenderer{
        TableCellRenderer colHeaderRenderer;
        public TableRowHeaderRenderer(){
          JTableHeader header = getTableHeader();
          TableColumn aColumn = header.getColumnModel().getColumn(0);
          colHeaderRenderer = aColumn.getHeaderRenderer();
          if(colHeaderRenderer == null)
            colHeaderRenderer = header.getDefaultRenderer();
        public Component getListCellRendererComponent(JList list, Object value,
            int index, boolean isSelected, boolean hasFocus){
          return colHeaderRenderer.getTableCellRendererComponent(
              RowHeaderTable.this, value, isSelected, hasFocus, -1, -1);
      public static void main(String[] args){
        try {
          UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
        }catch (Exception e){ e.printStackTrace(); }
        String[] columnNames = {"First Name",
            "Last Name",
            "Sport",
            "# of Years",
            "Vegetarian"};
              Object[][] data = {
                   {"Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false)},
                   {"Alison", "Huml", "Rowing", new Integer(3), new Boolean(true)},
                   {"Kathy", "Walrath", "Knitting", new Integer(2), new Boolean(false)},
                   {"Sharon", "Zakhour", "Speed reading", new Integer(20), new Boolean(true)},
                   {"Philip", "Milne", "Pool", new Integer(10), new Boolean(false)}
        DefaultTableModel dtm = new DefaultTableModel(data, columnNames);
        RowHeaderTable rht = new RowHeaderTable(dtm);
        rht.setMinRows(0);
        JFrame frame = new JFrame("RowHeaderTable Demo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(rht.getScrollPane(), BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);
        dtm.addRow(new Object[]{"Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false)});
        dtm.addRow(new Object[]{"Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false)});
        dtm.addRow(new Object[]{"Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false)});
    }

  • Copy only one column  of the workbook1  and paste it in another workbook 2

    Hello Rishi. Please help me with this how to copy only one column C of the workbook1  and paste it in another workbook 2 in Column D so that When user execute workbook1 . and then execute workbook2 . Column D is automatically populated in Workbook2 based on the data in Column C in workbook 1
    Please help
    Thanks
    Soniya

    Hi Soniya
    As I mentioned earlier, I haven't come across a situation of copying data from one workbook to another. However, for doing some dynamic modifications within the different sheets of the same workbook, you can refer to the following thread:
    Comparing two queries with VBA macro
    Thanks,
    Rishi

  • Only one column was record on Trigger

    Dear Experts,
    I've created SQL Trigger, it has five column, but only one column was recorded when Trigger's fired, another filled by NULL value
    please your valuable suggestion & helps
    thank you
    warmest regards

    Triggers are fired by INSERT  not matter how many rows it will generate and it is perfectly possible to have NULLs if columns allow it..
    If you want to prevent from entering NULLs, please examine inserted virtual table to filter out the data which contains NULLs.
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Exception: non-read-only mapping defined for the primary key field

    Hello.
    I'm new to Oracle and I created Java EE Web Project.
    And I created entities from tableA, tableB, tableC from my database.
    tableA has foreign key to tableB and has unidirectional Many-to-One relationship. tableC has two primary keys and one of these is foreign key to primary key in tableA. tableC also has unidirection Many-to-One relationship to tableA.
    Then I created session bean and data control from it, in design window, created read-only table from tableA.
    And I selected columns in tableA and also in tableB.
    I ran the application and saw the following exception in log window.
    Local Exception Stack:
    Exception [EclipseLink-46] (Eclipse Persistence Services - 2.1.3.v20110304-r9073): org.eclipse.persistence.exceptions.DescriptorException
    Exception Description: There should be one non-read-only mapping defined for the primary key field [tableC.tableA_ID].
    Descriptor: RelationalDescriptor(mypack.tableC --> [DatabaseTable(tableC)])
    tableA_ID is a primary key in tableA.
    How can I solve this error?
    Please help me.
    Edited by: 900471 on 2011. 12. 3 오전 5:32
    Edited by: 900471 on 2011. 12. 3 오전 5:33
    Edited by: 900471 on 2011. 12. 3 오전 5:33
    Edited by: 900471 on 2011. 12. 3 오전 5:34

    There are not enough details to be sure since you have not provided the mappings. From just the error, it looks like you are using the tableC.tableA_ID field as the foreign key in the ManyToOne relationship to A, but have marked it as insertable=false, writeable=false, meaning that it cannot be updated or used for inserts.
    Either make it writable (set the settings to true), or add another basic mapping/attribute in the entity for TableC that maps to the field which you can use to set when you insert a new tableC entity. A simple example is available at
    http://wiki.eclipse.org/EclipseLink/Examples/JPA/2.0/DerivedIdentifiers
    Best Regards,
    Chris

  • How do I group by only one column in a SELECT statement?

    Hi everyone,
    Here is my novice question:
    I would like to run a query where I select (display) several columns from my table, yet group (categorize) by one of these columns.
    For example:
    SELECT A, B, COUNT(A)
    FROM TableX
    GROUP BY A
    I realize now that this is not valid. My first question is why? Doesn't it make sense that you would want to group by only one of the columns? To me, it seems natural that you would most often want to categorize by one attribute, which is why it seems odd that this is not valid. I realize that I can remove column B, but I do want to display that info. I could also change the last statement to GROUP BY A, B to avoid errors, but this will also not display what I am looking for.
    In addition to understanding why Oracle is set up this way, I guess I also need to know how I can legally accomplish this query, grouping by A but also displaying the values of B.
    Thank you very much for your help!
    Holly

    Hi everyone,
    Thank you for your responses... very interesting and useful. Since I came across inline views in my reading, I tried the approach recommended by g feng, although I am eager to try the other approaches too.
    I ended up using an inner join simply to get more descriptive info. on the column that was being counted. With Y representing this second table, Y.B being the column containing the descriptive info., and A being the common key between X and Y, here is the simple code I came up with.
    SELECT Y.B, V.*
    FROM Y,
    SELECT A AV, COUNT (*)
    FROM X
    GROUP BY A
    ) V
    WHERE V.AV = Y.A
    Does this seem correct... anything I need to watch out for?
    Thanks again to everyone for your help!!
    Holly

  • Distinct for only one column

    Hi,
    I want select only distinct column of one column while at the same time displaying the other column attributed to the selected column.
    e.g. select name
    from student
    where name in
    (select distinct name from student)
    and processing_date >= '20070701'
    and processing_date < '20070702'
    this list all the similar rows and the distinct. Please assist. Thanks

    I'm sorry, but I am still a confused. Your current query, as written, is logically equivalent to...
    SELECT name, address
    FROM   student
    WHERE  processing_date >= '20070701'
    AND    processing_date <  '20070702';since selecting the DISTINCT names from the same table will match on every row.
    Are you looking for the DISTINCT names and addresses?
    SELECT DISTINCT name, address
    FROM   student
    WHERE  processing_date >= '20070701'
    AND    processing_date <  '20070702';Or are you looking for output like this?
    Bill Johnson   123 Main Street
                   456 West Lane
    John Doe       222 Hill Stree
                   888 East AvenueAgain, some sample output would be helpful.
    Greg

  • Only one column header in delimited report ?

    Hi!
    Is there a way to put only one line of column header on delimited report?
    (By default the Report builder puts the header in every record line...
    as well the delimited_hdr = no command prompt property is not good, because puts out no header)
    Thanks!
    (I use RB 6i)

    Hello,
    http://www.oracle.com/webapps/online-help/reports/10.1.2/topics/htmlhelp_rwbuild_hs/rwrefex/cmdline/common/bld_delim_hdr.htm
    DELIMITED_HDR command line keyword
    DELIMITED_HDR is used to remove boilerplate text (such as the report header) when running a report with DESFORMAT=DELIMITED or DESFORMAT=DELIMITEDDATA.
    This parameter exists in Reports 6i too .
    Regards

  • When creating a "lookup" column be able to display not only one column from the other list, but additional columns

    With the lookup technique, it is possible to select an item from another list and display one column of this item
    It is obviously possible to create several lookup columns on the same list and therefore display several columns
    There’s a high risk of not selecting the same item and therefore have inconsistent columns
    The Requirement therefore consist of being able of displaying several columns of the same item from the other list, based on one unique selection
    Example:
    In list(x), define lookup column on list (y), column Title (possible today)
    Then define a “secondary” lookup column on same list, column Code
    The effect would be that when selecting an item from list (X), both Title and Code would show up consistently in 2 different columns of list (Y)
    All possible solutions are welcomed

    If you are using SharePoint 2010, you can retrieve additional columns when adding a Lookup. If you are using 2007, there is no direct OOTB way, but the following two posts provide potential work-arounds:
    https://www.definitivelogic.com/blog/microsoft-sharepoint-2007-pulling-column-data-one-list-another-based-common-list-field
    http://stefan-stanev-sharepoint-blog.blogspot.com/2010/11/sharepoint-2007-associated-lookup.html
    Dimitri Ayrapetov (MCSE: SharePoint)

  • How to highlight only one column

    I am trying to highlight and copy one column but the one next to it is also highlighted.  Help!!

    I fear Klaus may be right about the doability of this in Safari.
    How about the following workaround? Don't have a Mac available at the moment, so it's a bit experimental.
    Do a "Paste with current style" in TextEdit of the entire table. (Fingers crossed, that should preserve the tab formatting of the entire table). Now copy the entire-table-stuff from TextEdit into a spreadsheet application like Numbers or Excel. Fingers crossed it'll show up in the spreadsheet as a table. Delete the extra columns from the table in the spreadsheet. Copy the single column back into TextEdit, delete the entire table-stuff. Klunky (assuming it works), but probably quicker than entering cells one at a time from Safari into TextEdit
    Suggesting doing it this way, because if you try copying an entire table directly from Safari into the speadsheet, it's got a nasty habit of stashing all the columns into a single column, which is not immediately helpful. If you're using Numbers on the Mac, it might be worth checking in over at the Numbers community to see if they've got workarounds for converting a "single-column-mess" produced by pasting from Safari into Numbers into a proper table. (I think Yvan might have a script for that, but I'm not sure.)

  • Why only one column?

    Hi,I use a jTable to diaplay dynamic sql. But I find only a column displayed.In fact ,I have three column . I don't know what happens. If you know or you have the same problem, please let me know. Thanks in advance.
    -zhou

    This is an old story, in Oracle 7 that was the first data type to store binary and there was restriction. But then after that Oracle has added several new data type to store binary or big long text such as CLOB/BLOB. You should avoid using LONG RAW.
    Syed

  • Sort in Only One Column

    How can I sort selected cells in one column without affecting data in other columns?
    Thanks

    JP-FLA wrote:
    You've got to be kidding! (Of course, I know you are not.) What kind of brain-dead software have I spent good money for?
    I am unable to understand how you may spend your money before testing the program with the 30 days free trial demo.
    I'm glad I still have Excel 2007 via VMWare.
    I'm glad that this program never entered my home.
    Message to Apple: What are you thinking?! Stunning spreadsheets don't make up for poor functionality.
    If you want to speak to Apple, you use the wrong channel.
    Here we are end users like you.
    _Go to "Provide Numbers Feedback" in the "Numbers" menu_, describe what you wish.
    Then, cross your fingers, and wait _at least_ for iWork'09
    Yvan KOENIG (from FRANCE mercredi 31 décembre 2008 20:22:05)

Maybe you are looking for

  • ITunes error -42408 with iTunes 10.4

    I know it was common with itunes 9.0.3 but i have itunes 10.4... Please help!

  • ITunes wont work on my windows xp, I get Error 7 (Windows error 999)

    iTunes has worked before but after summer vacation it stopped working. I get an Error 7 pop up everytime. I've reinstalled it twice and I get the same error. IDK what to do.

  • The "Exception" field cannot be written

    When I try to enter a website as an exception (so the password I use for it will not be saved anymore), the field cannot be written. The only action I can do is to click on the "Close" button !

  • Transitions not sticking to images

    Im trying to link two photos with a trasition (page peel to be exact) but for some reason, they're not taking it. It's as if there's a blank space between them, so the transition only sticks to one of the photos and the blank space. This has been hap

  • Regarding the ipv6 address handling

    Hi, Are there any built-in functions in pl/sql for handling ipv6 addresses? The functions similar to inet_ntop and inet_pton in c++ are available in pl/sql?