-1

我需要很多对表和具有相同结构的类型(对于表值参数)。在考虑正确的命名约定时,我不小心创建了两个:表和类型,具有相同的名称。即我有表 A(x int) 和类型 A(x int)。

所以……我是不是做错了什么?好像表和类型是可以区分的,T-SQL中没有可以使用“类型或表”的地方,所以代码不会有歧义,但我有点害怕使用一些东西,可能不好练习并需要建议。

4

2 回答 2

1

这没有错,但可能会被其他可能利用您的代码或接管架构的人不赞成。对其进行建模,以使它们不完全相同,即使在您的脑海中它们可能是一样的。说的容易,做的容易,但要遵循并与之保持一致。

于 2012-07-02T18:09:06.390 回答
0

我希望你不是真的意思A。现在已经不是 70 年代了,没有理由创建这样模糊和无意义的名称。我确定这不是您真正所说的类型和表格,但我想提一下以防万一。

如果您需要区分真实表和表示完全相同结构和实体的 TVP,这确实没有问题,但您始终可以将类型重新创建为dbo.TableName_TVPor dbo.TVP_TableName- 并始终如一地使用此约定。这样,当有人遇到引用其中一个或另一个的代码时,TVP 引用会脱颖而出(因为希望 TVP 引用在您的代码中远不如对基表的引用常见)。

于 2012-07-02T18:52:55.247 回答