SQL Server 存储过程调式

需要SQL Server 2008支持

右键数据库中创建存储过程,创建TSQL文本或者使用MSSQL提供的存储过程模板(在database\Programmablity\Store Procedures右键导入模板)

然后编写一个简单的存储过程如下:

USE MASTER;

IF OBJECT_ID(N'MASTER.DBO.TESTADD', N'P') IS NOT NULL

DROP PROCEDURE [DBO].[TESTADD];

GO



CREATE PROCEDURE DBO.TESTADD

@RET INT OUTPUT,

@LHS INT, 

@RHS INT

AS

BEGIN

    SET @RET=@LHS + @RHS

    RETURN @RET

END

GO



IF OBJECT_ID(N'MASTER.DBO.TESTADD', N'P') IS NOT NULL

PRINT 'HERE'

GO

其中判断是否存在存储过程是MSDN的代码,也可以使用如下判断方法:

IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'MASTER.DBO.TESTADD') AND OBJECTPROPERTY(ID, N'ISPROCEDURE') = 1)

DROP PROCEDURE DBO.TESTADD;

GO

这里需要注意的是删除存储过程不能带上数据库名字

注意到存储过程中输入参数的顺序跟后面调用的参数顺序需要一致,也就是说跟函数的参数列表一样。

接着按F5或者点击Execute执行脚本,接着可以看到打印出Here的信息,同时可以检查master数据库中programablity\store procedures已经存在了TESTADD。

接着输入测试代码:

DECLARE @LHS INT

DECLARE @RHS INT

DECLARE @RST INT

DECLARE @RET INT

SET @LHS = 1

SET @RHS = 2

EXEC @RET = MASTER.DBO.TESTADD @RST OUT, @LHS, @RHS

PRINT @RET

PRINT @RST

接着F11就像VS一样进行调试,进入到例如存储过程的时候可以继续按F11来进入存储函数。

你可能感兴趣的:(SQL Server)