簡體   English   中英

MYSQL存儲過程中的if語句速記語法

[英]If statement shorthand syntax in MYSQL store procedure

CREATE PROCEDURE `new_procedure`()
BEGIN

    INSERT IGNORE INTO users ( group_id, username, password, email) 
    SELECT status, CONCAT(first_name, last_name), password, email FROM another_user;

END

這是一個示例,我想將狀態從another_user直接寫入用戶的group_id中。

如果還有其他速記語法,還有什么方法可以像Java一樣嗎? 如果可以的話會是這樣的:

SELECT (status==1?4,5), CONCAT(first_name, last_name), password, email FROM another_user;

這是IF函數:

SELECT IF(status = 1, 4, 5), CONCAT(first_name, last_name), password, email
FROM another_user;

您還可以使用標准的SQL CASE表達式:

SELECT CASE status
        WHEN 1 THEN 4
        ELSE 5
       END,
        CONCAT(first_name, last_name), password, email
FROM another_user;

這不是存儲過程特有的,它只是SQL表達式的一般功能,您可以在任何地方使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM