>ALTER PROCEDURE [dbo].[AppointmentsSelectByTutorsAndStudentID] >( > @TutorIDs varchar(500), > @StudentID char(5) >) >AS >BEGIN > SET NOCOUNT ON; > > SELECT > AppointmentID, > TutorID, > Description > FROM [dbo].[Appointment] > WHERE > TutorID IN (select Value from dbo.fnSplit(@TutorIDs, ',') OR > AppointmentID IN (SELECT AppointmentID FROM StudentAppointments WHERE StudentID = @StudentID) >END>
>CREATE FUNCTION [dbo].[fnSplit] >(@list VARCHAR(8000), > @delim CHAR(1) = ',' >) RETURNS TABLE AS >RETURN > WITH csvtbl(START, stop) AS ( > SELECT START = 1, > stop = CHARINDEX(@delim COLLATE Slovenian_BIN2, @list + @delim) > UNION ALL > SELECT START = stop + 1, > stop = CHARINDEX(@delim COLLATE Slovenian_BIN2, > @list + @delim, stop + 1) > FROM csvtbl > WHERE stop > 0 > ) > SELECT row_number() over (order by Start) as ID, LTRIM(RTRIM(SUBSTRING(@list, START, > CASE WHEN stop > 0 THEN stop - START ELSE 0 END))) > AS VALUE > FROM csvtbl > WHERE stop > 0 > >GO >>
>SELECT > AppointmentID, > TutorID, > Description > FROM [dbo].[Appointment] INNER JOIN dbo.fnSplit(@TutorIDs, ',') F > on TutorID = F.Value > UNION -- to remove duplicates >SELECT > AppointmentID, > TutorID, > Description > FROM [dbo].[Appointment] A > where exists (select 1 from StudentAppointments SA > where SA.AppointmentID = A.AppointementID and SA.StudentID = @StudentID) >>>Hi,
>>Msg 207, Level 16, State 1, Line 8 >>Invalid column name 'MMMMM'. >> >>(1 row(s) affected) >>>>
>>ALTER PROCEDURE [dbo].[AppointmentsSelectByTutorsAndStudentID] >>( >> @TutorIDs varchar(500), >> @StudentID char(5) >>) >>AS >>BEGIN >> SET NOCOUNT ON; >> DECLARE @SQL varchar(600) >> >> SET @SQL = 'SELECT >> AppointmentID, >> TutorID, >> Description >> FROM [dbo].[Appointment] >> WHERE >> TutorID IN (' + @TutorIDs + ') OR >> AppointmentID IN (SELECT AppointmentID FROM StudentAppointments WHERE StudentID = ' + @StudentID + ')' >> EXEC(@SQL) >>END >> >>>>
>>USE [StudAthl] >>GO >> >>DECLARE @return_value int >> >>EXEC @return_value = [dbo].[AppointmentsSelectByTutorsAndStudentID] >> @TutorIDs = N'10101, 30303', >> @StudentID = N'MMMMM' >> >>SELECT 'Return Value' = @return_value >> >>GO >>