Quantcast
Channel: SCN : Discussion List - SAP HANA Developer Center
Viewing all articles
Browse latest Browse all 6412

How to create a foreign key that references only one column of a composite primary key?

$
0
0

The last line of the script below causes, ""* 365: no matching unique or primary key for this column list: line 1 col 13 (at pos 12)"". (The same error occurs when I omit the ADD UNIQUE statement.)


The primary key is being created fine (confirmed in the trace log and PUBLIC.CONSTRAINTS; see below).

 

Please advise -- thanks in advance!

 

 

CREATE TABLE "PLN_CRASH"

(

   CRASH_ID varchar(35) NOT NULL,

   PROCESS_ID varchar(100) NOT NULL,

   OWNER varchar(100) NOT NULL,

   -- remaining columns redacted


);

ALTER TABLE "PLN_CRASH" ADD UNIQUE ("CRASH_ID");

ALTER TABLE "PLN_CRASH" ADD PRIMARY KEY ("CRASH_ID", "PROCESS_ID", "OWNER");


CREATE TABLE "PLN_CRASHED_URA"

(

   CRASH_ID varchar(35) NOT NULL,

   -- remaining columns redacted

);

ALTER TABLE "PLN_CRASHED_URA" ADD FOREIGN KEY ("CRASH_ID") REFERENCES "PLN_CRASH" ("CRASH_ID") ON DELETE CASCADE;


------------------

SELECT * FROM "PUBLIC"."CONSTRAINTS" WHERE TABLE_NAME = 'PLN_CRASH' returns:

 

 

 

SCHEMA_NAME,TABLE_NAME,COLUMN_NAME,POSITION,CONSTRAINT_NAME,IS_PRIMARY_KEY,IS_UNIQUE_KEY

<schema_name>,"PLN_CRASH","CRASH_ID",1,"<sys_tree_rs_id>_#2_#0","FALSE","TRUE"

<schema_name>,"PLN_CRASH","CRASH_ID",1,"<sys_tree_rs_id>_#0_#P0","TRUE","TRUE"

<schema_name>,"PLN_CRASH","OWNER",3,"<sys_tree_rs_id>_#0_#P0","TRUE","TRUE"

<schema_name>,"PLN_CRASH","PROCESS_ID",2,"<sys_tree_rs_id>_#0_#P0","TRUE","TRUE"


Viewing all articles
Browse latest Browse all 6412

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>