【发布时间】:2015-08-21 21:23:25
【问题描述】:
据我所知,SQL Server 不支持包含其他类型的结构类型, 例如你不能做这样的事情
create type User as(UserId int, Name varchar(10), Address varchar(255))
然后使用它:
declare @user User
set @user.UserId = 10
...
也许有人知道任何有助于模拟这种行为的库/框架,例如,它可以是一些使用 XML 数据类型保存并检索值的函数集。
我要解决的问题是在存储过程之间传递大量参数。我有接受近 30 个参数的程序,而不是制作一些逻辑并将这些参数传递给另一个程序,然后第二个程序将一些逻辑和路径参数传递给第三个程序。然后需求发生变化,新参数应添加到所有程序中。使用结构数据类型,它转换为仅在数据类型中添加新字段。另一个优点是可读性。
【问题讨论】:
-
我不知道在 sql server 中创建结构化类型的任何其他选项...也许其他人会有更适合您需求的答案。
-
我对这些事情使用 XML 参数。
-
@RogerWolf:太好了!我想知道为什么我自己没有考虑过... [palmface]
标签: sql-server tsql sqldatatypes