sql >> Database teknologi >  >> RDS >> Oracle

Procedure for at kontrollere for ikke-duplikerede rækker i tabel før indsættelse (Oracle)

Du har et semikolon efter din parameterblok, og du mangler din IS eller AS klausul:

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. Hvorfor får jeg JPEG-fejl 42, når den er gemt i en database?

  2. Hvorfor dvale genererer 'T_'-præfikset tabelnavn under indsættelse og sletning?

  3. Oracle, Blob-data mangler i min eksportfil

  4. Oracle/SQL - Vælg specificeret række af sekventielle poster