TMP_HELLO中有实时CRM数据,希望通过seq获得最新产品
CREATE VIEW dbcrm.V_HELLO AS
CREATE TEMPORARY TABLE temp_table (count int);
insert into temp_table select max(seq) from dbcrm.TMP_HELLO group by ProductID;
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT minute(aa.UpdateOn) - minute(aa.TickTime), aa.*
FROM dbcrm.TMP_HELLO aa
where aa.seq in (select count from temp_table) limit 10000;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
此视图用于MS SQL Server的链接服务器读取
答案 0 :(得分:3)
创建视图时无法使用临时表。请参阅MSDN - CREATE VIEW页面;具体请参阅“视图定义中的SELECT子句不能包含以下内容”部分:
如果您实际使用的是Microsoft SQL Server(而不是MySQL作为您提出的问题的标签),您可以使用CTE而不是临时表。关于CTE的一些好页面: