Não existe boolean no oracle, os seus tipos de dados são:
CHAR, VARCHAR, VARCHAR2, NCHAR, NVARCHAR2,
NUMBER, LONG,
DATE, TIMESTAMP, TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH, RAW,
LONG RAW, ROWID, UROWID, CLOB, NCLOB, BLOB, BFILE, BINARY_FLOAT, BINARY_DOUBLe
Eles recomendam utilizar CHAR(1) 'Y'/'N' que e convertido para NUMBER(1) 0/1 quando alquem preenche com 'Y'/'N' .
Quando esta escrito em pl sql tem tipos adiocionais:
Note:
PL/SQL has additional datatypes for constants and variables, which include BOOLEAN, reference types, composite types (collections and records), and user-defined subtypes.
d-
Se executar no oracle, ele vai executar.
As variaveis estao corretas. Nao ha tabela associada a elas; é somente o valor das var. As variaveis vao na seção DECLARE. Os tipos: char, number, date, boolean (true/false). Para atribuir-lhes valor, =:
ex.: a:=2;
b:=to_number(c);
Em pl/sql, todo comando select exige INTO se for associar valores a colunas. nao é o caso.