【问题标题】:Stored Procedure SQL Conversion to MySQL存储过程 SQL 转换为 MySQL
【发布时间】:2011-10-17 08:45:48
【问题描述】:

我有来自存储过程的这段 SQL,我可以转换几乎所有的 SQL,除了我认为是临时表的 'INTO #t1' 行:

SELECT siteid, MIN(Eload) + dbo.GetOffset(siteid, 'Eload', MIN(time)) AS Eload

INTO #t1

FROM calcdata WITH (NOLOCK)

WHERE siteid IN (SELECT siteid FROM community_site WHERE communityid = @communityid)

AND time between @start AND @finish

AND Eload < 1000000

AND Eload <> 0

GROUP BY siteid

什么是 MySQL 等效的 INTO #t1 行?

谢谢

【问题讨论】:

    标签: php mysql sql database stored-procedures


    【解决方案1】:

    您应该使用INSERT ... SELECT 语句而不是带有 INTO 的 SELECT。

    【讨论】:

      【解决方案2】:

      我认为是

      INTO "tablename"
      

      【讨论】:

      • 这算作临时表吗?
      【解决方案3】:

      MySQL 不允许动态创建临时表。您可以显式创建临时表(请参阅reference),但通常最好创建普通表并在完成后将其删除。如果要显式创建并填充,则需要提前了解所有字段,这可能很麻烦。

      【讨论】:

        猜你喜欢
        • 2021-08-17
        • 2011-02-15
        • 1970-01-01
        • 2021-06-21
        • 2013-12-18
        • 1970-01-01
        • 2013-10-10
        • 2010-10-23
        • 1970-01-01
        相关资源
        最近更新 更多