Re: SQL code problem
Date: 2000/06/22
Message-ID: <8iroei$2f7$1_at_perki.connect.com.au>#1/1
The pk of the accesslevel is a composite key, so using accessid only record
can not be found.
two options you have
1- SQL> CREATE TABLE ACCESSLEVEL(
2 ID number, 3 ACCESSID VARCHAR2(30) NOT NULL, 4 TRANSACTIONID NUMBER(10) NOT NULL, 5 NAME VARCHAR2(30) NOT NULL, 6 CONSTRAINT PK_ACCESSLEVEL_ACCESSID_T 7 PRIMARY KEY (ID) 8 ); CREATE TABLE LABUSER ( 2 USERID VARCHAR2(30) NOT NULL CONSTRAINT PK_LABUSER_USERID PRIMARY KEY, 3 ID number NOT NULL 4 CONSTRAINT FK_LABUSER_ACCESSID references 5 ACCESSLEVEL(ID) 6 ON DELETE CASCADE 7* ) SQL> /
or
add the TRANSACTIONID NUMBER(10) NOT NULL to labuser table
Tom
Arun Solleti <asolleti_at_csee.usf.edu> wrote in message
news:3950E079.24B18120_at_csee.usf.edu...
> Can any one help me out with this code. I am trying to create two tables
> which are below :
>
> CREATE TABLE ACCESSLEVEL(
> ACCESSID VARCHAR2(30) NOT NULL,
> TRANSACTIONID NUMBER(10) NOT NULL,
> NAME VARCHAR2(30) NOT NULL,
> CO/
NSTRAINT PK_ACCESSLEVEL_ACCESSID_T
> PRIMARY KEY (ACCESSID, TRANSACTIONID)
> );
>
> /**********************************************************************/
>
> CREATE TABLE LABUSER (
> USERID VARCHAR2(30) NOT NULL CONSTRAINT PK_LABUSER_USERID PRIMARY KEY,
>
> ACCESSID VARCHAR2(30) NOT NULL
> CONSTRAINT FK_LABUSER_ACCESSID references
> ACCESSLEVEL(ACCESSID) ON DELETE CASCADE);
> /**********************************************************************/
>
> When i execute this it is giving me the following error
> /**********************************************************************/
>
> Table created.
>
> ACCESSLEVEL(ACCESSID) ON DELETE CASCADE)
>
> *
> ERROR at line 5:
> ORA-02270: no matching unique or primary key for this column-list
> /**********************************************************************/
>
>
>
> I am able to create accesslevel, which has a composite key comprising
> accessid and transcationid, but i do not know why labuser is not able to
> have relation with accessid.
>
>
> Arun
>
Received on Thu Jun 22 2000 - 00:00:00 CEST