[英]case when statement after select not working in stored procedure
我嘗試做這樣的事情
SET parentid = (SELECT parent FROM pages WHERE id = pageid);
CASE WHEN ( parentid <> 0 ) THEN
SET mainid = (SELECT parent FROM pages WHERE id = parentid);
ELSE
SET mainid = 0;
END
但是由於某種原因我得到了
第3行'CASE WHEN(parentid <> 0)THEN SET mainid =(從頁面WHERE頁面中選擇父對象)附近的語法錯誤
我想念什么?
沒有END CASE
子句,結尾沒有分號:
CASE WHEN ( parentid <> 0 ) THEN
SET mainid = (SELECT parent FROM pages WHERE id = parentid);
ELSE
SET mainid = 0;
END CASE;
請閱讀文檔以獲取正確的語法: http : //dev.mysql.com/doc/refman/5.0/en/case.html
這是工作示例的鏈接: http ://www.sqlfiddle.com/#!2/ 9495d1/2
我覺得這不需要變量...
SELECT CAST(CASE
WHEN id = pageid AND parent = 0
THEN 0
ELSE (SELECT parent FROM pages WHERE id = parentid)
END AS INTEGER) AS mainid
FROM pages
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.