首页 > 代码库 > 表变量
表变量
表变量和局部临时表非常相似,除了能实现相同的功能外,它们主要有两点不同,首先声明表变量是用DECLARE语句,而不是CREATE TABLE语句,第二点是表变量也只对创建它的会话可见,但允许访问的范围更小,它只对当前批处理可见,它对调用堆栈中当前批处理的内部批处理是不可见的,对会话中随后的批处理也是不可见的。
下面是使用表变量的示例和代码。
-- 表变量DECLARE @MyOrderTotalsByYear TABLE( ID INT NOT NULL PRIMARY KEY, Val NVARCHAR(50) NOT NULL);INSERT INTO @MyOrderTotalsByYear( ID, Val )SELECT YEAR(orders.orderdate)AS orderdate,SUM(orderdetails.qty) AS qty FROM Sales.Orders AS ordersLEFT JOIN Sales.OrderDetails AS orderdetails ON orders.orderid = orderdetails.orderidGROUP BY YEAR(orders.orderdate);-- 查询表变量SELECT * FROM @MyOrderTotalsByYear;
查询结果:
表变量
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。