• 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;
  • 相关阅读:
    mysql存儲過程+游標的應用實例5/17
    mysql存儲過程+遊標應用之:找缺號5/19
    轉:愚公移山
    c++中的头文件
    栈和堆:生存空间
    java中的类加载
    c++中的连接
    访问static变量和方法
    子类调用构造函数的过程
    c++中变量的存储种类
  • 原文地址:https://www.cnblogs.com/shuaichao/p/3239253.html
Copyright © 2020-2023  润新知