小编Dan*_*zzi的帖子

通用 TVP 权衡?

是否有针对 TVP 中使用的表类型的最佳实践或策略?例如,鉴于以下情况:

CREATE TABLE dbo.Colors (
    Id int identity PRIMARY KEY,
    Name nvarchar(100),
);

CREATE TABLE dbo.Shapes (
    Id int identity PRIMARY KEY,
    Name nvarchar(100),
);

CREATE TABLE dbo.Materials (
    Id int identity PRIMARY KEY,
    Name nvarchar(100),
);

CREATE TABLE dbo.Items (
    Id int identity PRIMARY KEY,
    Name nvarchar(100),
    ColorId int FOREIGN KEY REFERENCES dbo.Colors (ID),
    ShapeId int FOREIGN KEY REFERENCES dbo.Shapes (ID),
    MaterialId int FOREIGN KEY REFERENCES dbo.Materials (ID),
);
Run Code Online (Sandbox Code Playgroud)

如果您实现了一个存储过程来搜索需要支持通过 TVP 选择多种颜色、多种形状和多种材料的项目(想想 UI 中的复选框列表),您会创建三种单独的表格类型,一种用于每个 TVP,还是创建一个类型以在所有三个中使用它?

换句话说,这:

CREATE …
Run Code Online (Sandbox Code Playgroud)

sql-server table-valued-parameters

6
推荐指数
1
解决办法
250
查看次数