Определено или нет поле записи - как это выяснить?

Изображение khusamov

Здравствуйте!

Я сделал такой вот триггер:

CREATE FUNCTION 
	contractor_before_insert() returns opaque AS $$
		begin
			INSERT INTO document DEFAULT VALUES;
			new.document_id = currval('document_document_id_seq');
			RETURN new;
		end;
$$ LANGUAGE plpgsql;

Теперь хочу его модернизировать следующим образом:

CREATE FUNCTION 
	contractor_before_insert() returns opaque AS $$
		begin
			IF (new.document_id не определена) then
				INSERT INTO document DEFAULT VALUES;
				new.document_id = currval('document_document_id_seq');
				RETURN new;
			end;
		end;
$$ LANGUAGE plpgsql;

Как мне написать выражение "new.document_id не определена"?

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Попробуйте IS NULL

Попробуйте IS NULL

Спасибо! Пока работает. То

Изображение khusamov

Спасибо! Пока работает. То есть такого понятия как undefined нету?
То есть к примеру в JavaScript есть и null и undefined.
А здесь только null?

Это другой язык, поведение

Это другой язык, поведение которого определяется стандартом - это не фича какая-то PostgreSQL.
http://postgresql.ru.net/manual/functions-comparison.html

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023