是否有针对 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)