表类型简化了表变量的定义。通过创建表类型,可以把表的定义保存到数据库中,以后在定义表变量,存储过程和用户定义函数的输入参数时,就可以将表类型作为表的定义而重用。
下面的示例演示了如何通过表类型来简化表变量的定义,并且如何重用它。
USE TSQLFundamentals2008; GO IF TYPE_ID('dbo.OrderTotalsByYear') IS NOT NULL DROP TYPE dbo.OrderTotalsByYear; GO -- 创建表类型 CREATE TYPE dbo.OrderTotalsByYear AS TABLE ( orderyear INT NOT NULL PRIMARY KEY, qty INT NOT NULL ); -- 通过表类型创建表变量,并且填充数据 DECLARE @MyOrderTotalsByYear AS dbo.OrderTotalsByYear; INSERT INTO @MyOrderTotalsByYear( orderyear,qty ) SELECT YEAR(orders.orderdate)AS orderdate,SUM(orderdetails.qty) AS qty FROM Sales.Orders AS orders LEFT JOIN Sales.OrderDetails AS orderdetails ON orders.orderid = orderdetails.orderid GROUP BY YEAR(orders.orderdate); SELECT * FROM @MyOrderTotalsByYear;
查询结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2013-09-19 数据结构和算法系列16 哈夫曼树