声明现有表类型的变量



我想用现有的表类型声明变量(table - name: btc_ust_openorders)

我想要

Declare @list BTC_USDT_OpenOrders
INSERT INTO @list
SELECT *
FROM BTC_USDT_OpenOrders
WHERE (Expression)

对不起,但是SQL Server没有CREATE TABLE (or DECLARE @tableVariable) AS SELECT功能(您正在寻找的听起来像'锚定数据类型';在DB2-land)。

最接近的情况是用户定义的表类型与基本表保持同步。这可以是手动的,也可以使用DDL触发器自动执行。我会从简单的开始,作为你的源代码控制/部署过程的一部分。

另一个想法是使用#temp表而不是表变量…

SELECT * INTO #list FROM BTC_USDT_OpenOrders WHERE <expression>;

…无论如何,它在大多数情况下都是更好的(许多人有错误的观念,认为表变量由于各种原因更好—要进行彻底的分析,请参阅DBA的问题)。

相关内容

  • 没有找到相关文章

最新更新