SQL-028: Retrieve security question row(s)
Retrieves user security question records from EXT_USER_SECURITY_QUESTION joined to code tables for question text, with globalized text via a LEFT JOIN to EXT_USER_SEC_QUESTION_GCODE.
Classification
Field
Value
SQL ID
SQL-028
Operation type
Read
Execution method
Inline SQL
Database
Oracle
Schema
[unqualified]**
Command type
Text
Business object
clsUserSecurityQuestion
Criteria property
RetrieveSQL / RetrieveSqlStatement
Lifecycle method
BeforeRetrieve; GetUserSecurityQuestionsByUserID
Parameters
Parameter
Direction
Type
Max length
Description
:Culture
Input
String
5
Culture code for globalized question text.
:UserSecurityQuestionID
Input
Decimal
N/A
Primary key (used by BeforeRetrieve).
:UserID
Input
Decimal
N/A
EXT_USER_SEQ_NUM (used by GetUserSecurityQuestionsByUserID).
Tables
Sample SQL
SELECT
q . EXT_USER_SEC_QUESTION_SEQ_NUM AS UserSecurityQuestionID ,
q . EXT_USER_SEQ_NUM AS UserID ,
q . EXT_USER_SEC_QUESTION_CODE AS SecurityQuestionCode ,
CASE WHEN g . question_text IS NULL
THEN cast ( c . QUESTION_TEXT AS nvarchar2 ( 200 ))
ELSE g . question_text
END AS Question ,
q . ANSWER_TEXT AS Answer ,
q . CREATE_USER AS CreateUser ,
q . CREATE_DATE AS CreateDate ,
q . UPDATE_USER AS UpdateUser ,
q . UPDATE_DATE AS UpdateDate ,
q . UPDATE_NUM AS UpdateNum ,
c . Expiration_date AS QuestionExpirationDate
FROM EXT_USER_SECURITY_QUESTION q
JOIN ext_user_sec_question_code c ON c . code = q . ext_user_sec_question_code
LEFT JOIN ext_user_sec_question_gcode g
ON c . code = g . code AND upper ( g . culture_code ) = : Culture
WHERE q . EXT_USER_SEC_QUESTION_SEQ_NUM = : UserSecurityQuestionID
-- Or: WHERE q.EXT_USER_SEQ_NUM = :UserID (for collection retrieval)
Operations and processes
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources
Business\SAIF.Business.External.Users\clsUserSecurityQuestion.vb