Entering content frame

This graphic is explained in the accompanying text Primary Key Locate the document in its SAP Library structure

For some applications, it is useful to uniquely identify the rows in a table by one or more columns so that you can process them in a specified sequence, for example. You can do this by assigning a “primary key.” The column names that are to create the table key are represented by the keywords PRIMARY KEY. The input values of the key columns defined in this way must not be a NULL value.

You can use the primary key to insert rows in a table in the same way as you insert rows in a base table when no primary key is defined. However, the system outputs an error message if you attempt to insert an existing value into the primary key column a second time, since the uniqueness of the column is ensured by defining the primary key.

A primary key can consist of multiple columns. However, it is unusual for a key to be constructed from more than five columns, since this makes it difficult for users to enter unique values. The arrangement of the columns behind the keywords PRIMARY KEY defines the key sequence.

See also:

Key Definition (key_definition)

 

Creating a Primary Key

You can specify a primary key when you define the table or add it to an existing table at a later stage.

Simple Primary Key

You can define primary keys that refer to one table column only.

You can use the CREATE TABLE statement to define primary keys when you create a table.

 

CREATE TABLE person
(pno       FIXED(6)  PRIMARY KEY,
 name      CHAR(20),
 city      CHAR(20))

or

CREATE TABLE person
(pno       FIXED(6),
 name      CHAR(20),
 city      CHAR(20),
 PRIMARY KEY (pno))

Both statements result in the following: it must be possible to uniquely identify the rows in the person table on the basis of the person number.

 

See also:

CREATE TABLE Statement (create_table_statement)

 

You can use the ALTER TABLE statement to add primary keys to existing tables.

...

       1.      Drop the person table.
DROP TABLE person

    2.      Create the person table as follows:
CREATE TABLE person
(pno       FIXED(6),
 name      CHAR(20),
 city      CHAR(20))

    3.      Add a primary key:
ALTER TABLE person ADD PRIMARY KEY (pno)

It must be possible to uniquely identify the rows in the person table on the basis of the person number.

Primary Key in Several Columns

You can define a primary key in several columns in the table.

       1.      Drop the person table.
DROP TABLE person

       2.      Create the person table as follows:
CREATE TABLE person
(pno       FIXED(6),
 name      CHAR(20),
 city      CHAR(20))

    3.      Add a primary key:
ALTER TABLE person ADD PRIMARY KEY (pno,name)

It must be possible to uniquely identify the rows in the person table on the basis of the person number and name.

 

See also:

ALTER TABLE Statement (alter_table_statement)

ADD Definition (add_definition)

 

Changing a Primary Key

You can use the ALTER TABLE statement to change existing primary keys.

 

ALTER TABLE person ALTER PRIMARY KEY (pno)

It must be possible to uniquely identify the rows in the person table on the basis of the person number.

 

See also:

ALTER Definition (alter_definition)

 

Dropping a Primary Key

You can use the ALTER TABLE statement to drop primary keys.

 

ALTER TABLE person DROP PRIMARY KEY

 

See also:

DROP Definition (drop_definition)

 

Leaving content frame