the*_*mix 7 mysql stored-procedures join
我有3个表:
1.学生:{id,name,roll}
2. subject:{id,name}
3. marks:{student_id,subject_id,marks}
我有一个程序,它返回所有学生和他们的标记(比如getAllMarks()),我想创建另一个程序,它返回给定掷骰号的标记(比如getRollMarks(int rollno)).因此,有两种方法可以创建过程:
1.编写适当的SQL以获取getRollMarks过程中的结果.
2.在getRollMarks中调用getAllMarks,然后对getAllMarks返回的结果应用where子句.
任何人都可以建议以上两种方法的优点和缺点吗?我有2个方法2的优点:
1.SQL查询不会跨过程重复.
2.如果一个表中的任何内容发生变化,则更改将在一个位置/过程完成,而不是在使用该表的每个过程中完成.
PS:这些表只是例如,实际上它们是更大的表,有许多参数可供查询.问题可以简化,我们应该在不同的程序中编写重复的查询,还是应该使用现有的程序和必需的子句(where,order by,joins等)?