我使用的是SQL,我有4个表。
- A project can have one or more tasks
- A task can have one or more assignemnts
- An assignemnt can have one or more documents
现在我需要编写一个存储过程,它将验证一个项目并返回验证结果,其中项目id将作为参数传递。
我有一个临时表,在那里我需要插入验证错误,比如“Task-Task1不包含任何赋值”、“转让人- Assignment2不包含任何文档网”等等。
有没有办法不使用游标来实现这个逻辑?
发布于 2014-04-21 12:23:19
这种类型验证不需要游标。以下是三个这样的查询:
没有任务的项目:
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;任务至少有一个任务:
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;所有作业至少有一份文件:
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;https://stackoverflow.com/questions/23197130
复制相似问题