Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用用户定义的数据类型调试存储过程_Sql Server_Tsql - Fatal编程技术网

Sql server 使用用户定义的数据类型调试存储过程

Sql server 使用用户定义的数据类型调试存储过程,sql-server,tsql,Sql Server,Tsql,是否可以使用用户定义的数据类型作为参数调试存储过程 编辑:调用它的语法是什么?(执行官…) 我的类型: ) 去 是的,您可以正常调试它,但不幸的是,您无法很好地查看TVP中的数据 有关更多信息,请参见以下内容(如果您想获得对调试TVPs的更好支持,请投票)。我意识到它只是一个表,所以我声明了类型,插入了值并调用了存储过程 存储过程声明: 创建过程[dbo]。[spInsertarFactura] @TableFactoraInSpeccion FactoraInSpeccion只读, 调用存储

是否可以使用用户定义的数据类型作为参数调试存储过程

编辑:调用它的语法是什么?(执行官…)

我的类型:

)


是的,您可以正常调试它,但不幸的是,您无法很好地查看TVP中的数据


有关更多信息,请参见以下内容(如果您想获得对调试TVPs的更好支持,请投票)。

我意识到它只是一个表,所以我声明了类型,插入了值并调用了存储过程

存储过程声明:

创建过程[dbo]。[spInsertarFactura]
@TableFactoraInSpeccion FactoraInSpeccion只读,

调用存储过程:

使用[数据库] 去
声明@return\u值int

声明@tablaTmp FACTURAINSPECION

插入@tablaTmp(sIdServicio、Nidtipoinspecion、Sidtipoimotivoinspecion、Nidtipoivehiculo、, nBase、nNoPeriodica、nTarifaConProyecto、nTarifaSinyecto、nTasaTrafico、NDESCUNTO、nTotal)
数值(79,1,00,1,2,2,2,2,2,10,100)

EXEC@return_value=[dbo].[spInsertarFactura]


然后是调试时间。

我建议您向输入变量添加一个调试变量(默认值为0),然后当您要测试SP时,将调试设置为1,您可以在测试模式下运行数据查询。为了方便起见,你可以加一行

如果@debug=1开始从@tablefactureinspeccion结束选择*


这会让你看到你想要输入的数据是你想要的。或者,如果在ana insert中使用连接执行更复杂的查询,则可以在Debig模式中看到select语句,并在确定如何正确执行过程时回滚所有插入。我总是在任何复杂的sp中包含一个调试或测试变量,因为我希望能够在调试过程中的不同时间点查看内容。在我知道它是正确的之前,我希望回滚任何操作。

您如何在“exec…”中发送数据类型?如果您需要将表传递到过程中,我建议您研究将XML表传递到过程中的XML参数。@ch3r1f,通过声明该类型的变量(将为您提供一个表变量),将数据加载到其中,然后传递变量-没有什么特别的…@Lucero,是的,没有什么特别的,看看我的答案。无论如何,谢谢:)@ch3r1f,下次可能会以一种不那么误导的方式问这个问题:你的问题实际上是“如何使用表值参数手动调用SP”之类的-调试问题(你无法轻松查看TVP数据)就是我在回答中提到的。
CREATE TYPE [dbo].[FacturaInspeccion] AS TABLE(  
    [sIdServicio] [nvarchar](3) NOT NULL,  
    [nIdTipoInspeccion] [int] NOT NULL,  
    [sIdTipoMotivoInspeccion] [nvarchar](2) NOT NULL,  
    [nIdTipoVehiculo] [int] NOT NULL,  
    [nBase] [real] NOT NULL,  
    [nNoPeriodica] [real] NULL,  
    [nTarifaConProyecto] [real] NULL,  
    [nTarifaSinyecto] [real] NULL,  
    [nTasaTrafico] [real] NULL,  
    [nDescuento] [real] NULL,  
    [nTotal] [float] NULL