用户定义的类型更改

时间:2015-01-20 16:43:52

标签: vb.net sql-server-2008-r2 user-defined-types

我想在SQL Server(2008 R2)中实现从VB.NET应用程序传递的用户定义类型(表)。这将是一个泛型类型,用于代替传递逗号分隔的列表(至少最初它将只是ID值)。

如果稍后我们需要修改UDT,我们是否还需要在我们尝试使用UDT的应用程序代码中的任何地方进行更改?或者我们可以通过在UDT中创建一个可以为空的新列来解决这个问题吗?

值得关注的是,如果我们想在表中添加一个新列,我们需要返回并更改应用程序中使用此UDT的所有位置,无论这些位置是否需要新列。

1 个答案:

答案 0 :(得分:1)

只要它们允许NULL值,您就应该能够向UDT添加列。

就应用程序代码而言,它取决于您所调用的内容。如果要将数据添加到新列,则需要更改插入行的代码。如果要检索数据,则需要更改代码以从新列中获取数据。

您是否在询问更改服务器端的UDT是否需要立即更改代码?你不应该这样做。 VB中的SELECT查询要求您在每次查询后专门访问每个列,因此其他列不应影响代码。与插入行相同:如果您使用cmd.CommandText =" INSERT INTO表(field1,[field2,...])VALUES(value1,[value2,...])"然后每个列都经过专门标记,除非不允许NULL,否则其他列不应影响应用程序。