当前位置: 新豪天地登录网址 > www.3559.com > 正文

如何使用SQLyog修改数据库存储过程,存储过程

时间:2019-12-26 05:34来源:www.3559.com
下面介绍如何使用SQLyog修改数据库存储过程的具体方法 存储过程的优点:减少了服务器/客户端网络流量、 打开SQL Server2005的管理工具,选中需要创建存储过程的数据库,找到“可编程

下面介绍如何使用SQLyog修改数据库存储过程的具体方法

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

打开SQL Server 2005的管理工具,选中需要创建存储过程的数据库,找到“可编程性”,展开后可以看到“存储过程”。右键点击它,选择“新建存储过程”,右侧的编辑窗口打开了,里面装着微软自动生成的SQL Server创建存储过程的语句。

打开数据库连接,此时显示已创建的数据库

                                更强的安全性、

将存储过程的名字,参数,操作语句写好后,点击语法分析,没有错误就直接“F5”运行就好了,存储过程创建完毕,以下是一个基本的存储过程的代码:

www.3559.com 1

                                代码的重复使用、

 CREATE PROCEDURE Get_Data ( @Dealer_ID VARCHAR ) AS SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID

展开要操作的数据库

                                更容易维护、

既然创建存储过程已经会了,那么修改还会难吗?显然不会。修改存储过程也是相当的容易。首先,刷新当前数据库的存储过程列表,这时就能看到你刚创建的存储过程的名字了,右键点击它,选择修改,右侧又打开了一个编辑窗口,装着的就是修改存储过程的代码

www.3559.com 2

www.3559.com ,                                改进的性能

 ALTER PROCEDURE [dbo].[Get_Data] ( @Dealer_ID VARCHAR ) AS SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID

展开数据库

 

简单的修改下吧,代码如下

www.3559.com 3

创建存储过程:   

ALTER PROCEDURE [dbo].[Get_Data] ( @Dealer_ID VARCHAR, @Period VARCHAR ) AS SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID AND Period = @Period

展开存储过程,右击要修改的存储过程,选择

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

F5 成功执行,修改存储过程完成。

www.3559.com 4

调用存储过程:

开始写了一个存储过程,用来实现数据的插入操作,说白了就是添加数据。这个存储过程的代码如下:

此时展示原来的存储过程定义

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
 CREATE PROCEDURE PROC_INSERT_DATA_ID @DealerID varchar AS BEGIN 5 DECLARE @COUNT INT SET @COUNT =  FROM myDATA_Details WHERE DealerID = @DealerID) IF (@COUNT>0) BEGIN DELETE FROM myDATA_Details WHERE DealerID = @DealerID INSERT INTO myDATA_Details  VALUES  END ELSE BEGIN INSERT INTO myDATA_Details  VALUES  END END --实际例子:http://hovertree.com/hovertreescj/sql/p_hovertreescj_urls_add.htm

www.3559.com 5

修改存储过程:

F5一下,创建成功,调用它插入数据,OK,没问题插入成功,达到了预期的目的

修改存储过程语句

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

用于更新数据,代码如下:

www.3559.com 6

删除存储过程:

CREATE PROCEDURE PROC_INSERT_DATA_DETAIL @DealerID varchar, @FieldName varchar(2000), @FieldValue varchar(2000) AS BEGIN DECLARE @Count INT SET @Count =  FROM myDATA_Details WHERE DealerID = @DealerID) IF (@COUNT>0) BEGIN UPDATE myDATA_Details SET DealValue = @FieldValue WHERE DealerID = @DealerID END ELSE BEGIN INSERT INTO myDATA_Details  VALUES  END END

 ALTER PROCEDURE PROC_INSERT_DATA_DETAIL @DealerID varchar, @FieldName varchar(2000), @FieldValue varchar(2000) AS BEGIN DECLARE @Count INT DECLARE @StrSQL VARCHAR(2000) SET @Count =  FROM myDATA_Details WHERE DealerID = @DealerID) IF (@COUNT>0) BEGIN SET @StrSQL = 'UPDATE myDATA_Details SET '  @FieldName   ' = '''  @FieldValue   ''' WHERE DealerID = '  @DealerID EXEC END ELSE BEGIN INSERT INTO myDATA_Details  VALUES  SET @StrSQL = 'UPDATE myDATA_Details SET '  @FieldName   ' = '''  @FieldValue   ''' WHERE DealerID = '  @DealerID EXEC END END

在工具栏点击,此时存储过程就修改了

Drop PROCEDURE 存储过程名
GO

以上所述是小编给大家介绍的SQLServer存储过程创建和修改实现代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

www.3559.com 7

 

授予对存储过程的权限

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

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

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

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

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

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

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

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

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

GRANT EXECUTE ON OBJECT:: B
    TO A;

 

编辑:www.3559.com 本文来源:如何使用SQLyog修改数据库存储过程,存储过程

关键词: www.3559.com