SQL Server语言 - 了解存储过程调用



我试图理解一个基于SQL Server数据库的应用程序。

对于某个功能,它使用以下查询执行存储过程:

declare @p3 dbo.IdsTableType
insert into @p3 values(1)
declare @p9 dbo.IdsTableType
insert into @p9 values(1)
insert into @p9 values(6)
insert into @p9 values(0)
exec StatisticView174 
@TimeFrameStart = '2019-01-01 00:00:00',
@TimeFrameEnd = '2020-01-01 00:00:00',
@IdStocks = @p3,
@IdLng = 1, @GuiLng = N'en', @IdUser = 213, 
@OnlyOwn = 0, @IdAddress = NULL, 
@IdCompanys = @p9, @IdProject = NULL, @HourMinDiv = 60

谁能向我解释表变量@p3@p9是如何作为参数传递的?

我怎样才能代替它们来避免声明?

我想对 PowerBI 使用查询,但在那里我无法使用变量声明。

提前谢谢。

在 SQL Server 数据库中

导航到

可编程性 ->类型 -> 用户定义表类型

您将找到 IdsTableType。

我们可以创建用户定义的表类型作为参数,并将表作为参数传递给存储过程。

最新更新