Denne undtagelse opstår, når en SELECT INTO-sætning udføres og finder mere end én række. En SELECT INTO-sætning forventer at finde præcis én række, hverken mere eller mindre - ellers opstår der en undtagelse.
I dit eksempel:
select PK into wsID from RPT_WEBSVC
where KEYVALUE = 'GetMachineNameList'
and category_fk = catID;
det ser ud til, at der kun skal være én række pr. (KEYVALUE, CATEGORY_FK) kombination, men det er faktisk ikke tilfældet. Hvis der kun skal være én, skal tabellen have en unik begrænsning på disse kolonner:
alter table RPT_WEBSVC add constraint RPT_WEBSVC_UK
unique (KEYVALUE, CATEGORY_FK);
Det ville forhindre nogen (eller en eller anden proces) i at tilføje den samme række igen. Selvfølgelig skal du de-duplikere tabellen, før du kan tilføje den begrænsning.