我想用现有的表类型声明变量(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的问题)。