sasha wrote:
EXECUTE BLOCK
RETURNS ( VAL BLOB SUB_TYPE TEXT )
AS
DECLARE TYPE_CODE CHAR;
DECLARE I INT;
DECLARE S VARCHAR(10);
DECLARE T BLOB SUB_TYPE TEXT;
BEGIN
VAL = CASE TYPE_CODE
WHEN 'I' THEN I
WHEN 'S' THEN S
WHEN 'T' THEN T
END;
SUSPEND;
END
Ошибка: Datatypes are not comparable in expression CASE.
Тут две проблемы:
1) Я не сравнивал переменные I, S и T, а сравнивал TYPE_CODE с
литералами, поэтому сообщение некорректно. С точки зрения здравого
смысла сравнение I, S и T производиться не должно.
Не понял смысла твоей претензии.
2) Со строками оно работает отлично. В свете стремления сделать блоб
совместимым со строкой не понятно почему для блоба оно не работает.
Патамучта CASE недоработали.
--
Дмитрий Еманов