Mik*_*ike 4 sql t-sql sql-server
我的天啊!我究竟做错了什么?
declare @WTF TABLE (
OrderItemId int
)
SELECT TOP 20 OrderItemId as OrderItemId INTO [@WTF] FROM ac_OrderItems
SELECT * FROM [@WTF]
Run Code Online (Sandbox Code Playgroud)
问题A:这会创建一个名为@WTF的PHYSICAL表.为什么??我以为这只是在记忆中?!
问题B:最后一行代码,如果我从@WTF中选择*...没有[],则返回NOTHING.[]的意义是什么?
我需要认真的帮助.我失去了我的心灵!
提前致谢.
SELECT ... INTO在默认文件组中创建一个新表,并将查询中的结果行插入其中.
替代方案是:
WTF
表,并依赖行为自动创建它使用现有代码,但将其更改SELECT INTO
为INSERT:
INSERT INTO @WTF
(orderitemid)
SELECT TOP 20
oi.orderitemid
FROM ac_ORDERITEMS oi
Run Code Online (Sandbox Code Playgroud)请注意,在使用时TOP
,您应该定义一个ORDER BY
子句以确保一致地返回数据.