Primary key in the table
Hi All,
Can we have a primary key field declared as INT4 or should we only have the primary key field as character type.
Thanks in Advance.
Neha
Hi,
Yes, you can have primary key field declared as INT4 .
Explain me whatz d type of type.
Regards,
Muneesh Gitta.
Similar Messages
-
DBMS_CDC find only the columns that are changed along with the primary key in the table
Hello,
We are having a requirement to find the change data in the production environment.
We are planning to use the DBMS_CDC utility.
But for example in the create change table 1 picked emp_id,ename, address, salary,dob.
I have a sample data of
empid
ename
address
salary
DOB
1
test1
24 test street
2000
20-Jan-98
2
test2
25 test street
2500
15-Aug-97
if ename for empid 1 is changed to test1_test3 from test1.
My CDC is capturing the values in the old and new values in the 5 columns.
But i need to get only the empid (primary key of the source table) and the ename column as only that's been updated not the rest of the 3 columns.
Can i accomplish this.
Please advice.Hello,
Thanks for the information.
but if i change the change table then i will miss the other columns right?
I want to get the columns( empid and ename) only if ename is changed. i.e when ever any column in emp table changes i need to get all the columns where the data is changed along with the primary key columns empid.
Is there any way i can tweak the parameters so that i can achieve this or is there any other way using the cdc i can get this data.
Thanks -
REFRENCEING PRIMARY KEY IN THE TABLE
Hi,
I want to refer the composite primary key column into one table that is i have one primary key with three columns and i want to refer only one column as a forigen key in the other table.
how do i do that ?
regards
gaurav
nullForeign keys have to map to primary keys. If your master table requires three columns to uniquely identify a record then its children must have those three columns as well. This can lead to the apparently absurd situation where you have tables whose keys consist of more columns than the actual table data.
The alternative is to use an artificial ID column as the PK and make the other columns an unique key. The problem with synthetic primary keys is that it makes it difficult to identify children or grandchildren: you always have to join with the parent table or denormalise your data.
Example: ORDERS identified by Ord_No
ORDER_ITEMS identified by ord_itm_no
Natural key: ORDERS PK = order_no
ORDER_ITEMS PK = order_no
, ord_itm_no
Here it is easy enough to find which items belong to Order 1234 just by querying ORDER_ITEMS table.
Synthetic key: ORDERS PK = id
UK = order_no
ORDER_ITEMS PK = ORDERS.id, id
UK = order_no, ord_itm_no
Here to find which items belong to Order 1234 you have to query ORDERS to find the ID before querying ORDER_ITEMS table. You have to have triggers on the ORDER_ITEMS table to populate the denormalised columns order_no and ord_item_no.
Which approach you take ought to depend upon your database and what you do with it but it take on the flavour of a religious war. The orthodox view (the word of Codd) firmly supports using natural keys.
ciao, APC -
What is the best way to drop and recreate a Primary Key in the Replication Table?
I have a requirement to drop and recreate a primary key in a table which is part of Transaction replication. What is the best way to fo it other than remove it from replication and add again?
Thanks
SwapnaHi Swapna,
Unfortunately you cannot drop columns used in a primary key from articles in transactional replication. This is covered in
Make Schema Changes on Publication Databases:
You cannot drop columns used in a primary key from articles in transactional publications, because they are used by replication.
You will need to drop the article from the publication, drop and recreate the primary key, and add the article back into the publication.
To avoid having to send a snapshot down to the subscriber(s), you could specify the option 'replication support only' for the subscription. This would require the primary key be modified at the subscriber as well prior to adding the article back in
and should be done during a maintenance window when no activity is occurring on the published tables.
I suggest testing this out in your test environment first, prior to deploying to production.
Brandon Williams (blog |
linkedin) -
How to get the PRIMARY KEY of a table at runtime ???
Hi everybody,
My requirement is to update a z-table at runtime according to the data given ata runtime. So the main difficulties for me is that whenever I tried to update the table based on the data given in UI many rows are getting updated as these fields are not unique. So I think if I can get the PRIMARY KEY along with these given fields then I can update only one row at a time.
So Can anyone suggest me how to get PRIMARY KEY of a table based on the data in UI..??
Any suggestions will be appreciated..
Thanks,
SekharU will get primary keys of transparent tables using FM "REUSE_FIELDCALATLOG_MERGE".
pass tyour table name and u will get fieldcatalog filled. In tht their is a field called "KEY" if it has 'X' then tht field is a primary key of transparent tables & if it has "space" then it is not a primary key...
Or else you can try with 'DDIF_TABT_GET'
Or try this code
PARAMETERS: p_table TYPE tabname OBLIGATORY.
DATA: go_strucdescr TYPE REF TO cl_abap_structdescr,
gt_tab_fields TYPE ddfields.
FIELD-SYMBOLS: <gwa_tab_field> TYPE dfies.
TRY .
* Get the details of the DDIC table
go_strucdescr ?= cl_abap_elemdescr=>describe_by_name( p_table ).
CATCH cx_sy_move_cast_error .
MESSAGE 'Error while casting' TYPE 'S'. RETURN.
ENDTRY.
* Check if input is a DDIC table
CHECK go_strucdescr->is_ddic_type( ) = 'X'.
* Get the details of the table fields
gt_tab_fields = go_strucdescr->get_ddic_field_list( ).
* Display the Key fields of the table
LOOP AT gt_tab_fields ASSIGNING <gwa_tab_field> WHERE keyflag = 'X'.
WRITE: / <gwa_tab_field>-fieldname.
ENDLOOP. -
How can I obtain the primary key of a table for an entity relation?
hello everybody
I am doing a consultation to a table in my data base, good this table has alone two fields, the first one is the code or pk and the second one is the description, to be presisos they are names of city and code.
From the beginning!!: This method this one in another class that is a Dialog that is going to call to the class SelecPlace ();
SelecPlace sl = new SelecPlace();
public void capturarLugar(){ // Simple void method in the mentioned class
String place = txtProcedencia.getText() ; // a JTextField
sl.executeStatement(place) ;
}ok, now we see part of the code of the class SelectPlace
public class SelecPlace extends AbstractTableModel{
Connection con = null;
Statement sentencia = null ;
ResultSet rs = null;
ResultSetMetaData rsmd = null ;
String[] nameColum = {} ;
Vector datos = new Vector() ;
public SelecPlace() { }
public void executeStatement(String query){
try{
con = DBManager.getConnection() ;
sentencia = con.createStatement(rs.TYPE_SCROLL_INSENSITIVE,
rs.CONCUR_UPDATABLE) ;
String sql = "select * from Place where descripcion like %"+query+"%'";
rs = sentencia.executeQuery(sql) ;
rsmd = rs.getMetaData();
int nroColumnas = rsmd.getColumnCount() ;
nameColum = new String[nroColumnas] ;
//obtengo los nombres de columnas en cache
for(int colum = 0; colum < nroColumnas; columna++){
nameColum[colum] = rsmd.getColumnLabel(columna + 1) ;
datos = new Vector();
while(rs.next()){
Vector newRow = new Vector();
for(int i = 0; i < getColumnCount(); i++){
newRow.addElement(rs.getObject("place_ID"));
newRow.addElement(rs.getObject("description"));
datos.addElement(nuevaFila);
fireTableChanged(null);
}catch(SQLException e){
System.err.println(e);
e.printStackTrace(System.err);
System.out.println("error in statement");
}catch(ClassNotFoundException cnfe){
System.err.println(cnfe);
}Ok, this code me works and I obtain in this case the field description of the table Place
Now my question is, how can I obtain the primary field of my table?
I need this value of this field that in the base of information in a bigint, and to take it to the first class before mentioned, for that I am working with a data base relatedCertain duffymo and everyone!!, good I give you my scheme:
And generalizing my question, I want to obtain the value of the primary key of a table in the database, I obtain more values of the same row, but I need the primary key, and you see one with the primary key I want to turn a Long and it to insert with code java in foreign clave in another table of the database
Good of this form I believe that it would not be breaking the integrity relacional of the tables -
Is there any restriction on the length of all Primary keys in a table
Hi all,
Is there any restriction on the length of all Primary keys in a data base table?
i have some 10 fields as primary key in a DB table and length exceeds 120 and getting a warning.
Please let me know will there be any problems in future with respect to the same?
With regards,
SumanthWell actually there are constraints like
Total of internal lengths of all primary key columns 1024 Bytes
Number of primary key columns per table 512
For other information about SAP database please refer to http://sapdb.org/sap_db_features.htm
Thanks & Regards,
Vivek Gaur
Alwayz in high spirits -
What is the best practice for creating primary key on fact table?
what is the best practice for primary key on fact table?
1. Using composite key
2. Create a surrogate key
3. No primary key
In document, i can only find "From a modeling standpoint, the primary key of the fact table is usually a composite key that is made up of all of its foreign keys."
http://download.oracle.com/docs/cd/E11882_01/server.112/e16579/logical.htm#i1006423
I also found a relevant thread states that primary key on fact table is necessary.
Primary Key on Fact Table.
But, if no business requires the uniqueness of the records and there is no materilized view, do we still need primary key? is there any other bad affect if there is no primary key on fact table? and any benifits from not creating primary key?Well, natural combination of dimensions connected to the fact would be a natural primary key and it would be composite.
Having an artificial PK might simplify things a bit.
Having no PK leads to a major mess. Fact should represent a business transaction, or some general event. If you're loading data you want to be able to identify the records that are processed. Also without PK if you forget to make an unique key the access to this fact table will be slow. Plus, having no PK will mean that if you want to used different tools, like Data Modeller in Jbuilder or OWB insert / update functionality it won't function, since there's no PK. Defining a PK for every table is a good practice. Not defining PK is asking for a load of problems, from performance to functionality and data quality.
Edited by: Cortanamo on 16.12.2010 07:12 -
If I have an EntityBean that mappes to two tables within one database, when I create
that EJB, whoes reponsibilty to generate the primary key in database table? The
RDBMS or EJB?
Thanks,
JWRefer to http://e-docs.bea.com/wls/docs81/faq/ejb.html/#257430
"Jingwei Zhang" <[email protected]> wrote:
>
If I have an EntityBean that mappes to two tables within one database,
when I create
that EJB, whoes reponsibilty to generate the primary key in database
table? The
RDBMS or EJB?
Thanks,
JW -
How to create a foreign key for the table from two different tables?
Hi All,
I have a three table like below. In the below table SAMPLE_CONS_CHECK and SAMPLE_CONS2_CHECK will be having the primary key for NAME column. The same SAMPLE_CONS3_CHECK table also having the primary key for NAME column and forieign key for SAMPLE_CONS_CHECK and SAMPLE_CONS2_CHECK tables. See the below code 2
code 1:
CREATE TABLE SAMPLE_CONS_CHECK
(NAME VARCHAR2(10),
SERIES VARCHAR2(5)
CREATE TABLE SAMPLE_CONS2_CHECK
(NAME VARCHAR2(5),
MODEL NUMBER
CREATE TABLE SAMPLE_CONS3_CHECK
(NAME VARCHAR2(5),
MODEL_NO NUMBER
)code 2
alter table SAMPLE_CONS_CHECK
add constraint SAMPLE_CONS_CHECK_pk primary key (NAME)
alter table SAMPLE_CONS2_CHECK
add constraint SAMPLE_CONS2_CHECK_pk primary key (NAME)
alter table SAMPLE_CONS3_CHECK
add constraint SAMPLE_CONS3_CHECK_pk primary key (NAME)
ALTER TABLE SAMPLE_CONS3_CHECK ADD
CONSTRAINT SAMPLE_CONS3_CHECK_FK1 FOREIGN KEY
NAME
) REFERENCES SAMPLE_CONS_CHECK
NAME
) ON DELETE CASCADE;
ALTER TABLE SAMPLE_CONS3_CHECK ADD
CONSTRAINT SAMPLE_CONS3_CHECK_FK2 FOREIGN KEY
NAME
) REFERENCES SAMPLE_CONS2_CHECK
NAME
) ON DELETE CASCADE;From the above schenario i am able to insert the data to SAMPLE_CONS3_CHECK table. But the parent data is already available in the parent table. The problem is here two different constarints from two different tables. While inserting, it is checking from both the tables whether the parent is exist or not.
How can i solve this problem? Can anyone halp me about this?
Thanks
Edited by: orasuriya on Aug 8, 2009 2:02 AMActually the design is completely incorrect.
What you say is
I have
'foo', 'foo series'
'foo','foo model'
'foo',666
By virtue of table3 referring to both table1 and table2.
This means you actually need to have 1 (one) table:
'foo','foo series','foo model', 666
And the 'problem' disappears.
Sybrand Bakker
Senior Oracle DBA -
Is it possible to create many primary key for a table?
hello sir/mam.
i am selva, i am new to abap,
is it possible to create many primary key for a table?
please guide me.Hi Selva,
Many Primary Keys = Composite Key.
i.e some set of columns will enable you to identify a unique row from a set of rows in the table.
This can be achieved by checking the primary key check box in se11.
Hope it helps.
Regards,
Maheswaran.B
Message was edited by: Maheswaran B -
How to define Composite primary key for a Table
Hi ,
I am basically more into Java Programming , with little bit knowledge on Oracle as DataBase .so please excuse for my silly doubts .
Can anybody please tell me how to define a Composite Primary Key on a Table .
Thanks in advance .
Edited by: user672373773 on Sep 25, 2009 8:54 AMHere is an example right out of the Oracle documentation and the syntax for adding PK since you mention adding a composite PK.
Example creating composite index
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_indexing.htm#sthref594
Syntax for adding a PK (composite or not)
alter table oooooooo.tttttttt
add constraint tttttttt_PK
primary key (sample_column2,
sample_column1)
using index
tablespace IDXSPC
pctfree 05
initrans 04
maxtrans 08
storage (initial 16k
next 16k
maxextents 32
pctincrease 0);
-- dictionary management with restricted storage, change as desired.
HTH -- Mark D Powell -- -
Editing or creating a record for primary Key of a table in FORM
Hi,
i have to create a form using 10columns out of a 25column table...
one of the columns of this 10 is PRIMARY KEY.....
in the process of creating the form ...it is asking me for a primary key....when i select a column(out of 10) as primary key , i am not getting that primary key in the form.....
i am a newbie....please send some solutions to add primary key in a form so that it can be inserted or modified....
Thanks
rajHi,
When you create a form, you get a region and several items. If you look at your page definition, you will see these listed - the region will be called whatever name you gave it (eg, "Employee") and the items will be listed as Pnn_EMPNO, Pnn_NAME, Pnn_SALARY and Pnn_DEPT (nn = page number). The Pnn_EMPNO item will be shown as "Hidden and Protected". This means that the field is on the page but the user can not see it nor edit it.
When you create a new record, this field will be empty. When you edit an existing record, this field will contain the EMPNO value for that record. When you save a new record, this field is given a primary key value based on whatever method you specified when you created the form.
If you don't see the Pnn_EMPNO item, then the form has not been created correctly. Do you see this item on your page definition?
Andy -
Use of end-date as part of Primary key in SAP Tables
All,
Any ideas on the rationale behind SAPs use of end-date as part of Primary key in general, specifically on condition Tables(A9xx for example) instead of Start-date? appreciate any help!!
Best Regards
TRPHmm, another example is CSKS, this logic was probably designed already in the 1980s...maybe it was seen beneficial to be able to select the currently valid record by using the primary key only (the first record where DATBI is larger than system date, not possible when DATAB is the key instead).
Maybe there are better explanations. Why do you need to know this, just curious?
Thomas -
Cascade update of primary key in child tables
Hi,
We have a typical scenario in which the primary key has to propage to the child table into 3 levels. We are getting the no parent key exception if we create new data into the three tables using 3 level master detail relationship and execute commit operation. The following is the structure of the tables.
Parent_table (sno number primary key, name varchar2(100));
Child_table (fk_sno number primary key, name varchar2(100), foreign key (fk_sno) references parent_table(sno));
GrandChild_table (sno number primary key, fk_sno number, name varchar2(100), foreign key (fk_sno) references Child_table(fk_sno));
The requirement is to update fk_sno in child_table and grandchild_table with the trigger generated primary key sno in the parent_table.
The application module is having the following structure
parenttable
|
----------childtable
|
-----------grandchild_table
If we create new records into parent_table and child_table it is working fine when we commit the data. If we create another record into grandchild_table and commit data we are getting the foreign key violation exception. We are using composition in the association to update the modified values to refresh the data.
Is there any problem in the data model to use fk_sno as primary key and foreign key in child_table.
Thanks and Regards,
S R PrasadHmm, another example is CSKS, this logic was probably designed already in the 1980s...maybe it was seen beneficial to be able to select the currently valid record by using the primary key only (the first record where DATBI is larger than system date, not possible when DATAB is the key instead).
Maybe there are better explanations. Why do you need to know this, just curious?
Thomas
Maybe you are looking for
-
How do I make fire fox open a new tab when I type in the search bar and press enter?
Hi, I know I have found this solution before, but can't find it again. Please help? In FF 27.0.1, when I put the cursor in the search bar, type words and hit enter, it starts the search in the current tab. How do I make FF always start the search in
-
Exception in websphere starting (embedded messaging)
When I am starting the websphere server with Embedded messaging enabled. I am gettig the following error. Please give me some pointers to resolve this. ==================== [12/9/05 19:43:52:609 IST] 3da283eb QueueManagerM E MSGS0101E: Start Queue Ma
-
Everytime I Open the program it freezes my hompage and i can not click or select anything.
When I open Firefox4 RC it freezes on my homepage (one made provided by my college through Google's personalized profiles). The only way it works is if I quickly select one of my tabs (like Twitter). When it freezes, everything is frozen except the m
-
'fn' key shows desktop (not in combination with f11). How to turn this off?
iMac 21.5-inch, Late 2012 OS X Yosemite 10.10.2 Whenever I press the 'fn' key (standalone) key it shows my desktop, which it makes it difficult for me to use this key in combination with the f1-f12 keys. I had a similar issue on my Macbook Air, which
-
Rule to apply ldap group filter to allow access in OAM Policy Manager
This may be pretty basic, but I'm trying to implement a rule in Policy Manager to allow access to a resource based on LDAP group membership. I can't figure out how to construct the ldap query. I'm using OID as the directory server. Does anybody know