gpt4 book ai didi

sql-server - T-SQL 中的结构类型

转载 作者:行者123 更新时间:2023-12-01 08:10:02 24 4
gpt4 key购买 nike

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

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

然后使用它:

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

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

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

最佳答案

你好,

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

你可以在这里看到一个简单的代码: 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.

澄清一下,“复数”是由 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.

我希望这有用:-)

关于sql-server - T-SQL 中的结构类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30691725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com