这是我的存储过程:
CREATE PROCEDURE _spCalc
(@Num01 decimal(18,0), @Num02 decimal(18,0), @Num03 decimal(18,0))
AS
BEGIN
DECLARE @Var01 float, DECLARE @Var02 float, DECLARE @Var03 float
SET @Var01 = @Num01 * 1000
SET @Var02 = @Num02 - ((POWER(6.53 * @Var01, 0.5)) / (POWER(@Num03, 0.5)))
SET @Var03 = (1 - 3.4680733 * LOG(@Var02) + 1.8779192 * POWER(LOG(@Var02), 2))
INSERT INTO _myTable(Num01, Num02, Num03, Num04)
VALUES (@Num01, @Num02, @Num03, ((@Var02 + @Var03 + @Num01) * 1000))
END
我的问题是,我如何测试并知道我声明的每个变量的结果?我想将结果与excel格式的计算进行比较。只是想确定,结果是一样的。
干杯,
答案 0 :(得分:1)
我们可以使用" print @ var01"。在计算之前或之后重复使用不同的变量名称。这显示在结果的消息部分中。 要么 我们可以使用"选择@ var01为var01,@ var02为var02,@ var03为var03"在插入语句之前。这会在执行期间为您提供类似输出的表
您可以扩展打印或根据需要选择其他变量。
答案 1 :(得分:1)
由于某些原因,我无法添加更多评论。 “在分配给变量”
之前,尝试将计算作为单独的“选择”select @Num01 * 1000 as @Var01
select @Num02 - ((POWER(6.53 * @Var01, 0.5)) / (POWER(@Num03, 0.5))) as @Var02
select (1 - 3.4680733 * LOG(@Var02) + 1.8779192 * POWER(LOG(@Var02), 2))
替换你传递给程序的值