sql >> Database >  >> RDS >> Oracle

Procedure om te controleren op niet-dubbele rijen in de tabel voordat ze worden ingevoegd (Oracle)

Je hebt een puntkomma na je parameterblok en je mist je IS of AS clausule:

CREATE OR REPLACE PROCEDURE add_vals (c_cntry_id OUT COUNTRIES.COUNTRY_ID%TYPE,
                                       c_cntr_name IN COUNTRIES.COUNTRY_NAME%TYPE, 
                                       c_rgn_id IN COUNTRIES.REGION_ID%TYPE)
IS
BEGIN
  INSERT INTO countries(COUNTRY_ID, COUNTRY_NAME,REGION_ID)
    values (user_seq.nextval, c_cntr_name,c_rgn_id);
  c_cntry_id := user_seq.currval;
EXCEPTION
  WHEN dup_val_on_index
  THEN 
    c_cntry_id := null;
END;
/


  1. Mysql geeft willekeurige 4 gebruikers weer met meer dan 5 artikelen

  2. Verwijderen van veel naar veel relaties in MySQL

  3. Joins gebruiken om gegevens uit verschillende tabellen te combineren in PostgreSQL

  4. Tabel die in een procedure is gemaakt, is verwijderd, compilatiefout voor procedure ontvangen