If you scripted the views for a database in Microsoft SQL Server and for some reason, the order of “create views” does not consider the dependencies of views with each other. Just try to imagine you have a hundred views to sort according to dependency and you have to figure it out manually. A software tool for this will be very handy.
Example: ---------------------------------- USE dbSAS CREATE VIEW [dbo.vwGrades] AS SELECT s.id, s.name, ssub.subjectname, g.grade from dbo.vwStudents as s inner join dbo.vwSubjects as ssub on s.id = ssub.id inner join grades as g on ssub.id = g.id order by s.name asc GO CREATE VIEW [dbo.vwSubjects] AS SELECT s.id, s.name, ssub.id, ssub.subjectname from dbo.vwStudents as s inner join student_subjects as ssub on s.id = ssub.id order by s.name asc GO CREATE VIEW [dbo.vwStudents] AS SELECT id, first + ' ' + last as name from students; GO
Executing this script in SQL Server 2005 will cause some error because the first view refers to views vwStudents and vwSubjects which are not created yet.
We have created a tool based on General SQL Parser to sort view script by dependency automatically for you.
Download this demo: C# version