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;
此 View 供MS SQL Server的链接服务器读取
最佳答案
创建 View 时不能使用临时表。查看MSDN - CREATE VIEW页;具体请参阅“ View 定义中的 SELECT 子句不能包含以下内容”部分:
如果您实际上使用的是 Microsoft SQL Server(而不是问题标签所建议的 MySQL),则可以使用 CTE 而不是临时表。几个关于 CTE 的好页面:
关于mysql - 如何在 MySQL 的 View 中创建临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19151297/