я пытаюсь предоставить, выполняют privs в сохраненном proc больше чем в одной базе данных. Проблема, это сохранило proc, не мог бы быть в некоторых базах данных. Таким образом, то, как я могу записать сценарий, который проверяет, если сохранено proc, существует в базе данных и если действительно затем обеспечивает, выполняют privs для пользователя?
Попробуйте:
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[your_procedure_name]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
BEGIN
-- Set privileges here
END
Попробуйте это:
if exists (select 1
from sysobjects
where id = object_id('YourProc')
and type = 'P')
множество способов сделать это:
1)
IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'proc1'
AND type = 'P')
2)
IF EXISTS (SELECT *
FROM information_schema.routines
WHERE routine_name = 'Proc1')