home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.databases.ms-sqlserver      Notorious Rube Goldberg contraption      19,505 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 18,930 of 19,505   
   Ulrich Achilles to All   
   "Parameterized" Views - really that ugly   
   28 Jul 13 11:30:30   
   
   From: uli.achilles@googlemail.com   
      
   Hallo,   
      
   I am new to SQL Server and I want to migrate an MS Access application   
   (Backend, Frontend) to SQL Server. More precise:I want to put the   
   backend to SQL Server and use Access as Frontend.   
   The application deals with courses with a duration of 4 to 8 weeks and   
   the students participating in these courses.   
      
   Coming from Access I wanted to have an updateable view like:   
      
   SELECT CourseID, CourseName, Teacher, CoursePlace, CourseBegin, CourseEnd   
   FROM courses   
   WHERE CourseBegin <= @somedate + 6 AND CoursEnd >= @somedate   
      
   (@somedate is a monday and the view selects the courses that are actual   
   for that week).   
      
   Of course I found soon that it is not possible to pass parameters to a   
   view in SQL server. As a solution I created a table "parameters" with   
   just one row to hold the parameter and joined it to the courses-table:   
      
   SELECT CourseID, CourseName, Teacher, courses.CoursePlace, CourseBegin,   
   CourseEnd   
   FROM courses   
   INNER JOIN   
   parameters ON courses.CoursePlace = parameters.CoursePlace   
   WHERE CourseBegin <= parameters.somedate + 6 AND CourseEnd >=   
   parameters.somedate   
   (CoursePlace is the same for all courses)   
      
   So the clients set their 'somedate' in the parameters-table and get the   
   wanted selection of courses. Of course each client has to set the   
   "parameter" each time he runs the view.   
      
   I came across that construction in the net, but it was commented as   
   horrible, ugly and so forth.   
      
   My question: Is it really that bad? And why?   
      
   Based on that view and a table with students and a table which records   
   the students of each course is a view showing all the students of the   
   courses of the selected week. This view gives typically 150 to 300   
   students in 10 to 25 courses.   
   There are at most 5 or 6 users working with the application.   
      
   I tried also the recommended solution with a table valued function. With   
   Access as frontend this has the severe disadvantage, that I have to use   
   pass through queries which are not updateable.   
      
   I also tried Access-queries on the linked tables filtering by their   
   WHERE-clauses, but they ran significantly slower.   
      
   Thank you in advance for any suggestions.   
      
   Ulrich Achilles   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca