You don't need cursors for this type validation. Here are three queries that do this:
Projects with no tasks:
select p.*
from tbl_projects p left outer join
tbl_tasks t
on p.project_id = t.project_id
where t.project_id is null;
Tasks have at least one assignment:
select p.*
from tbl_tasks t left outer join
tbl_assignments a
on a.task_id = t.task_id
where a.task_id is null;
All assignments have at least one document:
select p.*
from tbl_assignments a left outer join
tbl_documents d
on a.assignment_id = d.assignment_id
where d.assignment_id is null;