定义NOT NULL变量

最近更新时间: 2025-02-18 16:02:00

  • 复制
    复制成功
postgres=# CREATE OR REPLACE PROCEDURE p_not_null_var() AS
$$
DECLARE    
    v_int integer NOT NULL := 1;     
BEGIN
    RAISE NOTICE 'v_int = %',v_int;  
    SELECT NULL INTO v_int;
    RAISE NOTICE 'v_int = %',v_int;  
END;
$$
LANGUAGE plpgsql;
CREATE PROCEDURE
postgres=# CALL p_not_null_var();
NOTICE:  v_int = 1
ERROR:  null value cannot be assigned to variable "v_int" declared NOT NULL
CONTEXT:  PL/pgSQL function p_not_null_var() line 6 at SQL statement
postgres=# 

定义为NOT NULL变量,则该变量受NOT NULL约束。