zoukankan      html  css  js  c++  java
  • SQL 存储过程

    存储过程的优点:减少了服务器/客户端网络流量

                                    更强的安全性

                                    代码的重复使用

                                    更容易维护、

                                    改进的性能

    创建存储过程:   

    USE AdventureWorks2012;
    GO
    CREATE PROCEDURE HumanResources.uspGetEmployeesTest2 
        @LastName nvarchar(50), 
        @FirstName nvarchar(50) 
    AS 
    
        SET NOCOUNT ON;
        SELECT FirstName, LastName, Department
        FROM HumanResources.vEmployeeDepartmentHistory
        WHERE FirstName = @FirstName AND LastName = @LastName
        AND EndDate IS NULL;
    GO

    调用存储过程:

    EXECUTE HumanResources.uspGetEmployeesTest2 N'Ackerman', N'Pilar';
    -- Or
    EXEC HumanResources.uspGetEmployeesTest2 @LastName = N'Ackerman', @FirstName = N'Pilar';
    GO
    -- Or
    EXECUTE HumanResources.uspGetEmployeesTest2 @FirstName = N'Pilar', @LastName = N'Ackerman';
    GO

    修改存储过程:

    ALTER PROCEDURE Purchasing.uspVendorAllInfo
        @Product varchar(25) 
    AS
       SQL语句

    删除存储过程:

    Drop PROCEDURE 存储过程名
    GO

    授予对存储过程的权限

        1. 在对象资源管理器中,连接到数据库引擎实例,然后展开该实例。

        2. 展开“数据库”、过程所属的数据库以及“可编程性”

        3. 展开“存储过程”,右键单击要针对其授予权限的过程,再单击“属性”

        4. “存储过程属性”中,选择“权限”页。

        5. 若要为用户、数据库角色或应用程序角色授予权限,请单击“搜索”

        6. “选择用户或角色”中,单击“对象类型”以添加或清除所需的用户和角色。

        7. 单击”浏览“以显示用户或角色列表。 选择应对其授予权限的用户或角色。

        8. “显式权限”网格中,选择要为指定的用户或角色授予的权限。

    授予名为 A  的应用程序角色对存储过程 B  EXECUTE 权限。

    GRANT EXECUTE ON OBJECT:: B
        TO A;
  • 相关阅读:
    ashx session
    jquery-tmpl中添加js判断
    问题与解决方案
    VS2013打包发布 winform程序
    Sorket通信
    加载页面菜单,原来也可以这么写
    pm2模块编写入门
    使用PouchDB来实现React离线应用
    让fetch也可以timeout
    使用JSON Schema来验证接口数据
  • 原文地址:https://www.cnblogs.com/shuaichao/p/3239253.html
Copyright © 2011-2022 走看看