【问题标题】:Does the user who executes a stored procedure which contains a delete query need delete permission?执行包含删除查询的存储过程的用户是否需要删除权限?
【发布时间】:2012-09-14 15:15:33
【问题描述】:

或者只有在执行不是存储过程的查询时才需要授予他们从表中删除记录的权限?

【问题讨论】:

    标签: mysql sql sql-server tsql stored-procedures


    【解决方案1】:

    执行包含删除查询的存储过程的用户是否需要删除权限?

    不,这就是您可以将此类操作抽象为存储过程的原因之一。 所有用户需要的是对存储过程授予的EXEC 权限。这是因为假定存储过程的作者只允许从表中删除记录的有效情况。

    只有在执行不是存储过程的查询时才需要授予他们从表中删除记录的权限

    对,他们需要对表具有DELETE 权限才能使用DELETE DML 操作删除记录。

    【讨论】:

    • 在 SQL Server 中,如果存储过程的所有者也是表的所有者,则为 true。请参阅所有权链接。
    猜你喜欢
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多