Документация iSZN

pkSE.sql

Сообщения об ошибках

Error_NoQuestionList

PROCEDURE Error_NoQuestionList(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception «Список вопросов не существует».

Error_NoQuestion

PROCEDURE Error_NoQuestion(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception «Вопрос не существует».

Error_NoAnswerVariant

PROCEDURE Error_NoAnswerVariant(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception «Вариант ответа на вопрос не существует».

Error_SurveyPeriodsOverlap

PROCEDURE Error_SurveyPeriodsOverlap(iQuestionListRgnID PLS_INTEGER, iQuestionListID PLS_INTEGER, iRegionID PLS_INTEGER);

Описание

Вызывает exception «Обнаружено пересечение периодов проведения соцопроса в районе».

Error_SurveyIsNotActive

PROCEDURE Error_SurveyIsNotActive(iQuestionListRgnID PLS_INTEGER, iQuestionListID PLS_INTEGER, iRegionID PLS_INTEGER, dDate DATE);

Описание

Вызывает exception «Социологический опрос неактивен на дату».

Error_NoSession

PROCEDURE Error_NoSession(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception «Сессия не найдена».

Error_SessionIsNotActive

PROCEDURE Error_SessionIsNotActive(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception «Сессия завершена».

Error_SessionIsLocked

PROCEDURE Error_SessionIsLocked(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception «Сессия заблокирована».

Error_InvalidAnswerVariant

PROCEDURE Error_InvalidAnswerVariant(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception «Недопустимый вариант ответа на вопрос».

Error_AnswerVariantsAreLocked

PROCEDURE Error_AnswerVariantsAreLocked(iRegionID PLS_INTEGER, iSessionID PLS_INTEGER);

Описание

Вызывает exception «Варианты ответа на вопрос заблокированы».

Проверки

QuestionListExists

FUNCTION QuestionListExists(iRegionID PLS_INTEGER, iID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает 1, если список вопросов существует, иначе 0.

QuestionExists

FUNCTION QuestionExists(iRegionID PLS_INTEGER, iID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает 1, если вопрос существует, иначе 0.

AnswerVariantExists

FUNCTION AnswerVariantExists(iRegionID PLS_INTEGER, iID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает 1, если вариант ответа на вопрос существует, иначе 0.

CheckQuestionListExists

PROCEDURE CheckQuestionListExists(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Проверяет существование списка вопросов и при его отсутствии вызывает exception.

CheckQuestionExists

PROCEDURE CheckQuestionExists(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Проверяет существование вопроса и при его отсутствии вызывает exception.

CheckAnswerVariantExists

PROCEDURE CheckAnswerVariantExists(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Проверяет существование варианта ответа и при его отсутствии вызывает exception.

VerifyQuestionListPeriods

PROCEDURE VerifyQuestionListPeriods(iQuestionListRgnID PLS_INTEGER, iQuestionListID PLS_INTEGER, iRegionID PLS_INTEGER := NULL);

Описание

Производит проверку непересечения периодов проведения по заданному списку вопросов. При
обнаружении пересекающихся периодов генерируется exception.
Параметры:

  • iQuestionListRgnID, iQuestionListID - ключ списка вопросов;
  • iRegionID - ID района, в котором выполняется проверка (если null, то во всех районах).

CheckQuestionListIsActive

PROCEDURE CheckQuestionListIsActive(iQuestionListRgnID PLS_INTEGER, iQuestionListID PLS_INTEGER, iRegionID PLS_INTEGER, dDate DATE);

Описание

Проверяет, что социологический опрос существует и активен на дату dDate в районе iRegionID.

Сессии проведения опросов

SessionStart

FUNCTION SessionStart(iQuestionListRgnID PLS_INTEGER, iQuestionListID PLS_INTEGER, iRegionID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Создаёт новую сессию проведения опроса и возвращает ID созданной записи сессии.
Параметры:

  • iQuestionListRgnID, iQuestionListID - ключ опросника;
  • iRegionID - ID района, в котором проводится опрос;
  • iStrict - определяет поведение при отсутствии опросника или в случае, если опрос на текущую дату неактивен.

SessionEnd

FUNCTION SessionEnd(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Завершает указанную сессию.
Параметры:

  • iRegionID, iID - ключ сессии;
  • iStrict - определяет поведение при возникновении ошибки.

Возвращает (только при iStrict=0):

  • 0 - сессия завершена успешно;
  • 1 - сессия не существует;
  • 2 - сессия уже закрыта;
  • 3 - ошибочная дата закрытия сессии (текущая дата раньше даты открытия сессии);
  • 4 - сессия заблокирована.

При iStrict<>0 всегда возвращает 0, либо вызывает exception.

CloseActiveSessions

PROCEDURE CloseActiveSessions(iQuestionListRgnID PLS_INTEGER := NULL, iQuestionListID PLS_INTEGER := NULL, iRegionID PLS_INTEGER := NULL, nMinIdleTime NUMBER := 0);

Описание

Завершает все активные сессии, удовлетворяющие заданным параметрам.
Параметры:

  • iQuestionListRgnID, iQuestionListID - ключ списка вопросов (если null, то независимо от списка вопросов);
  • iRegionID - ID района, в котором закрываются сессии (если null, то во всех);
  • nMinIdleTime - минимальное время неактивности закрываемых сессий в часах (если 0, то все).

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

SaveAnswer

FUNCTION SaveAnswer(iRegionID PLS_INTEGER, iSessionID PLS_INTEGER, iAnswerID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Сохраняет указанный вариант ответа для вопроса, допускающего выбор только одного варианта ответа.
Параметры:

  • iRegionID, iSessionID - ключ сессии;
  • iAnswerID - ID варианта ответа;
  • iStrict - определяет поведение при возникновении ошибки.

Возвращает (только при iStrict=0):

  • 0 - вариант ответа выбран успешно;
  • 1 - сессия не существует;
  • 2 - сессия закрыта;
  • 3 - вариант ответа не существует;
  • 4 - недопустимый вариант ответа на вопрос;
  • 5 - ответы на вопрос заблокированы.

При iStrict<>0 всегда возвращает 0, либо вызывает exception.