我试图理解一个基于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。
我们可以创建用户定义的表类型作为参数,并将表作为参数传递给存储过程。