【发布时间】:2021-01-29 22:25:56
【问题描述】:
我正在尝试创建一个工具,该工具将在 MS SQL Server 上的数据库中查找以 ABC 开头的用户定义表类型,然后创建一组相同但使用 @ 的新用户定义表类型987654325@ 附加在名称的末尾。
因此,例如,如果我在现有 SQL 数据库上运行此理论工具,该数据库包含三个 UDT,名为 MyUdt、YourUdt 和 ABCUdt,结果将是数据库现在包含四个 UDT: MyUdt、YourUdt、ABCUdt 和 ABCUdt-X。
这似乎与关于如何创建与表匹配的 UDT 的问题非常相似:Automatically generate a user defined table type that matches an existing table
我知道 SQL 数据库包含其每个存储过程的定义为文本,这可以在 sys 表上查询,但看起来 UDT 没有这样的定义存储。
在我麻烦地编写将现有 UDT 分解为语句以创建新 UDT 的代码之前,谁能告诉我是否有办法编写一个命令,“嘿,MS SQL Server,采取UDT ABCUdt 并创建另一个与它完全相同的名称 ABCUdt-X"?
【问题讨论】:
-
您是否需要触发器以及未复制的内容,或者只是简单的结构、表及其列?有没有数据?
-
我正在尝试创建一个工具 一个应用程序?使用什么语言? SMO 是支持该功能的类库。
-
在 SSMS 和 VS 中,它能够一次编写一个 UDT 脚本。复制/粘贴没有?
-
@stickybit 我正在复制
user defined table type,不是表格。
标签: sql sql-server user-defined-types