Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE FUNCTION f4(isbn IN VARCHAR2, bar_code IN VARCHAR2) RETURN VARCHAR2 AS
- ins_isbn VARCHAR2(255) := isbn;
- ins_barcode VARCHAR2(255) := bar_code;
- counter_isbn NUMBER := 0;
- check_corr_val VARCHAR2(255) := 'Ihre Daten wurden nicht korrekt eingetragen!';
- BEGIN
- EXECUTE IMMEDIATE 'SELECT COUNT(buch.isbn) from buch WHERE buch.isbn = ' || ins_isbn INTO counter_isbn;
- IF ins_barcode IS NOT NULL AND counter_isbn > 0 THEN
- EXECUTE IMMEDIATE 'INSERT INTO buch_kopien(BARCODE_ID, ISBN) values(' || ins_barcode || ', ' || ins_isbn || ')';
- check_corr_val := 'Ihre Daten wurden korrekt eingetragen!';
- END IF;
- EXCEPTION WHEN DUP_VAL_ON_INDEX THEN
- RAISE_APPLICATION_ERROR(-20001, 'Der Barcode ist schon vergeben! [' || SQLERRM || ']');
- WHEN OTHERS THEN
- RAISE_APPLICATION_ERROR(-20001, 'Ein Fehler ist Aufgetreten! [' || SQLERRM || ']' || ins_isbn || ',' || counter_isbn || ',' || ins_barcode);
- RETURN check_corr_val;
- END;
- DECLARE
- checker VARCHAR2(255) := '';
- isbn VARCHAR2(255) := '1-56592-335-9';
- bar_code VARCHAR2(255) := '100000212';
- BEGIN
- checker := f4(isbn, bar_code);
- DBMS_OUTPUT.put_line(checker);
- END;
Advertisement