sql >> データベース >  >> RDS >> Mysql

変数がNULLかどうかを確認し、MySQLストアドプロシージャで設定するにはどうすればよいですか?

    @last_run_time 9.4です。ユーザー定義の変数 およびlast_run_time datetime 1つの13.6.4.1。ローカル変数DECLARE構文 、は異なる変数です。

    試してください:SELECT last_run_time;

    更新

    例:

    /* CODE FOR DEMONSTRATION PURPOSES */
    DELIMITER $$
    
    CREATE PROCEDURE `sp_test`()
    BEGIN
        DECLARE current_procedure_name CHAR(60) DEFAULT 'accounts_general';
        DECLARE last_run_time DATETIME DEFAULT NULL;
        DECLARE current_run_time DATETIME DEFAULT NOW();
    
        -- Define the last run time
        SET last_run_time := (SELECT MAX(runtime) FROM dynamo.runtimes WHERE procedure_name = current_procedure_name);
    
        -- if there is no last run time found then use yesterday as starting point
        IF(last_run_time IS NULL) THEN
            SET last_run_time := DATE_SUB(NOW(), INTERVAL 1 DAY);
        END IF;
    
        SELECT last_run_time;
    
        -- Insert variables in table2
        INSERT INTO table2 (col0, col1, col2) VALUES (current_procedure_name, last_run_time, current_run_time);
    END$$
    
    DELIMITER ;
    



    1. SQLiteとは

    2. 連続した繰り返し/重複の順序付きカウント

    3. SQL Serverトリガー–パート2DDLおよびLOGONトリガー

    4. MySQLの画面にVimのようなKを表示するには