T-SQL 中的结构类型

Structure types in T-SQL

据我所知SQL 服务器不支持包含其他类型的结构类型, 例如你不能做这样的事情

create type User as(UserId int, Name varchar(10), Address varchar(255))

然后使用它:

declare @user User
set @user.UserId = 10
...

也许有人知道任何有助于模拟此行为的 library/framework,例如,它可以是一些使用 XML 数据类型保存值并检索它们的函数集。

我要解决的问题是在存储过程之间传递大量参数。我有一个接受近 30 个参数的程序,而不是将一些逻辑和路径参数传递给另一个程序,然后第二个程序将一些逻辑和路径参数传递给第三个程序。然后要求发生变化,新参数应添加到所有程序中。使用结构数据类型,它转换为仅在数据类型中添加新字段。另一个优点是可读性。

美好的一天,

我的第一个猜测是您需要用户定义的 table 类型,正如其他提到的那样。但无论如何你都错了,你可以创建包含其他类型的新类型。例如,我使用我使用 SQLCLR 创建的 "complex number" 类型。

你可以在这里看到一个简单的代码: http://www.codeproject.com/Articles/15651/Creating-User-Defined-Data-Types-in-SQL-Server

this is not the code that I use :-) I just find this on Google now.

澄清一下,"complex number" 是由 2 个简单的十进制数构建的,这意味着我们使用两种类型来创建用户定义的数据类型:-)

I use other types as well for example another one is BIGBIGINT. I have a very big table which need integers bigger than BIGINT... I created another type BIGBIGINT which use two BIGINT types.

希望有用:-)