EDIT: Похоже, что это отсортировано, подумайте, что это была проблема с моими табличными вставками.PL/SQL Block Function & Test
Хорошо, поэтому я довольно новичок в PL/SQL, поэтому будьте легко на меня, но у меня есть этот код, который я должен написать, где я должен проверить категорию книги, и если она вернется, у меня будет тест, который будет вставьте строку. Может ли кто-нибудь сказать мне, что в этом плохого? Благодарю. Функция выполняется правильно, но я не совсем уверен, что она верна в ее синтаксисе, и это просто тест, который дает мне ошибку.
CREATE OR REPLACE FUNCTION CheckBookType (
p_Type titles.category%TYPE)
RETURN BOOLEAN IS
v_ReturnValue BOOLEAN;
BEGIN
IF (p_Type) = 'business' THEN
v_ReturnValue := TRUE;
ELSIF (p_Type) = 'psychology' THEN
v_ReturnValue := TRUE;
ELSIF (p_Type) = 'mod_cook' THEN
v_ReturnValue := TRUE;
ELSIF (p_Type) = 'trad_cook' THEN
v_ReturnValue := TRUE;
ELSIF (p_Type) = 'popular_comp' THEN
v_ReturnValue := TRUE;
ELSE
v_ReturnValue := FALSE;
END IF;
RETURN v_ReturnValue;
END CheckBookType;
set serveroutput on;
BEGIN
IF(CheckBookType('psychology'))=true THEN
INSERT INTO Titles VALUES(1234, 'test', 'psychology', sysdate, 1234);
ELSE
dbms_output.put_line('Invalid');
END IF;
END;
Да, похоже, все в порядке, мне просто нужно было разобраться со столами и поблагодарить, что они кажутся гораздо меньшими усилиями, чем постоянное письмо IF. – Annihil8
Отлично, рад, что вы это решили! – bbrumm