erro de sintaxe: final inesperado do arquivo

Eu tenho uma consulta SQL que, quando é colocada em uma função, deixa de funcionar com estesyntax error: unexpected end of file mensagem de erro. Removê-lo de uma função faz com que ele comece a funcionar novamente.

Por que é isso?

function pull_data
{
    sqlplus -s $user/$pass@$db << EOF
    SELECT DISTINCT order_number,
                    order_total_items,
                    order_total_value
    FROM orders

    WHERE order_date BETWEEN '$1' AND '$2';

    exit;

    EOF
}

questionAnswers(1)

yourAnswerToTheQuestion