В настоящее время я работаю над проектом, который поставил меня в тупик, так как я мало занимался дизайном хранимых процедур. У меня есть задача, когда при входе пользователя они могут быть связаны с одной или несколькими группами. Я передаю список групп в качестве параметра при вызове сохраненного pro c как @GroupList = "Group1", "Group2", "Group3". Может быть любое количество групп. Вызов для добавления нового пользователя должен завершиться неудачей, если одна из групп не существует. Я пытаюсь использовать следующий код, чтобы проверить, существует ли он, прежде чем заполнять временную таблицу идентификаторами существующих групп. Моя проблема в том, что он продолжает терпеть неудачу. Я перепробовал все, что только мог придумать, поэтому обращаюсь к людям более опытным, чем я. Заранее спасибо. Это утверждение if Существует, что мне не удается.
Declare @GroupList varchar(100), @return int, @sql varchar(1000)
if @GroupList is not null
begin
if (object_id ('tempdb..#TempGroupList') is not null) drop table #TempGroupList
Create Table #TempGroupList
(
GroupID int,
PlayerID int
)
if exists (select * from Group_new where GroupName in (' + @GroupList + '))
begin
--lets populate our temp table
set @SQL = 'insert into #TempGroupList (GroupID) select GroupID from Group_New where GroupName in (' + @GroupList + ')'
exec(@sql)
end
else
set @return = 1
select @return
print 'Stop, one of the Group names you entered does not exist'
Return
end