Документация 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.