У меня есть оператор SQL на Netezza, который использует следующий SQL для получения текущего входа в систему user ID
:
SELECT SESSION_USERNAME FROM _V_SESSION_DETAIL WHERE SESSION_ID=current_sid
Это прекрасно работает, когда я выполняю SQL в клиенте базы данных. Однако, когда я реализую приведенный выше SQL в представлении (наряду с другим SQL), current_sid
заменяется на session ID
, которое у меня было при создании представления. Тогда этот SQL будет выглядеть примерно так:
SELECT DEFINITION_SCHEMA."_V_SESSION_DETAIL".SESSION_USERNAME FROM DEFINITION_SCHEMA."_V_SESSION_DETAIL" WHERE (DEFINITION_SCHEMA."_V_SESSION_DETAIL".SESSION_ID = 2434740
Есть ли способ определить представление, которое будет получать текущий вход в систему user's ID
, а не идентификатор, который был назначен при создании представления?