繁体   English   中英

mysql存储过程更新查询

[英]mysql stored procedure update query

我正在处理存储过程,但无法使其创建工作。 自测试过以来,我知道我的sql代码正在运行,但是我不知道为什么我无法使它运行。

CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (
select AVG(Score) as aScore, MovieCode
from UserMovies
group by MovieCode
)

UPDATE Movies
set Score =(
select aScore
from table2
where Movies.Code=table2.MovieCode )

DROP TABLE IF EXISTS table2

它不会让我创建存储过程。 在代码的更新部分附近说错误。

通常,这样的事情应该起作用:

DELIMITER //

DROP PROCEDURE IF EXISTS `sp_Name`//

CREATE PROCEDURE `sp_Name`()
BEGIN
  CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (
  select AVG(Score) as aScore, MovieCode
  from UserMovies
  group by MovieCode
  );

  UPDATE Movies
  set Score = (
  select aScore
  from table2
  where Movies.Code=table2.MovieCode );

  DROP TABLE IF EXISTS table2;
END//

DELIMITER ;

SQL Fiddle演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM