san*_*084 5 sql database sql-server stored-procedures
我试图在多个数据库中的存储过程中授予执行权限.问题是这个存储过程可能不在某些数据库中.那么如何编写一个脚本来检查存储过程是否存在于数据库中,以及是否为用户提供了执行权限?
许多方法:
1)
IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'proc1'
AND type = 'P')
Run Code Online (Sandbox Code Playgroud)
2)
IF EXISTS (SELECT *
FROM information_schema.routines
WHERE routine_name = 'Proc1')
Run Code Online (Sandbox Code Playgroud)
尝试这个:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5513 次 |
| 最近记录: |