Проверьте, если сохранено proc, существует в DB?

я пытаюсь предоставить, выполняют privs в сохраненном proc больше чем в одной базе данных. Проблема, это сохранило proc, не мог бы быть в некоторых базах данных. Таким образом, то, как я могу записать сценарий, который проверяет, если сохранено proc, существует в базе данных и если действительно затем обеспечивает, выполняют privs для пользователя?

5
задан sanjeev40084 1 February 2010 в 15:31
поделиться

3 ответа

Попробуйте:

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
4
ответ дан 14 December 2019 в 01:07
поделиться

Попробуйте это:

if exists (select 1
      from sysobjects
      where  id = object_id('YourProc')
      and type = 'P')
0
ответ дан 14 December 2019 в 01:07
поделиться

множество способов сделать это:

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')
5
ответ дан 14 December 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: