如何在Microsoft Sql Server Management Studio中测试现有存储过程?
答案 0 :(得分:6)
我不知道这样做的最佳方法是什么:
您可以右键单击sp>任务>执行到>新的查询窗口。这将允许您使用参数调用SP。
然后,您可以在SP中的各个点进行选择以进行调试。
如果它是一个非常复杂的SP,那么这个方法就是从SP中取出代码,只是声明变量代替参数,然后就可以直接运行TSQL代码了。
尽管如此,我还是喜欢听到更好的方法。
答案 1 :(得分:0)
这里是MSDN Using Variables and Parameters (Database Engine)
的解释/示例Transact-SQL有几种在Transact-SQL语句之间传递数据的方法。其中包括以下内容:
Transact-SQL局部变量。
Transact-SQL变量是Transact-SQL批处理和脚本中可以保存数据值的对象。声明或定义变量后,批处理中的一个语句可以将变量设置为值,批处理中的后续语句可以从变量中获取值。例如:
复制
USE AdventureWorks2008R2;
GO
DECLARE @EmpIDVar int;
SET @EmpIDVar = 1234;
SELECT *
FROM HumanRresources.Employee
WHERE BusinessEntityID = @EmpIDVar;
请注意 批处理中可以声明的最大局部变量数是10,000。 Transact-SQL参数。
参数是用于在存储过程与执行存储过程的批处理或脚本之间传递数据的对象。参数可以是输入参数或输出参数。例如:
复制
USE AdventureWorks2008R2;
GO
CREATE PROCEDURE ParmSample @EmpIDParm int AS
SELECT BusinessEntityID, JobTitle
FROM HumanResources.Employee
WHERE BusinessEntityID = @EmpIDParm ;
GO
EXEC ParmSample @EmpIDParm = 109 ;
GO
应用程序使用应用程序变量和参数标记来处理Transact-SQL语句中的数据。
应用程序变量
应用程序编程语言(如C,C ++,Basic和Java)有自己的变量来保存数据。使用数据库API的应用程序必须先将Transact-SQL语句返回的数据移动到应用程序变量中,然后才能使用数据。这通常使用称为绑定的过程来完成。应用程序使用API函数将结果集列绑定到程序变量。获取行时,API提供程序或驱动程序将数据从列移动到绑定的程序变量。
参数标记
ADO,OLE DB和基于ODBC的数据库API支持参数标记。参数标记是位于Transact-SQL语句中输入表达式位置的问号(?)。然后将参数标记绑定到应用程序变量。这允许来自应用程序变量的数据在Transact-SQL语句中用作输入。参数标记还允许将存储过程输出参数和返回代码绑定到应用程序变量。然后,在执行过程时,输出数据将返回到绑定变量。 DB-Library API还支持将存储过程参数和返回代码绑定到程序变量。
此致