是的,Oracle sys_context函数支持动态SQL。可以在动态SQL语句中使用sys_context函数来获取当前会话的相关信息,如用户ID、应用程序ID等。例如:
DECLARE v_username VARCHAR2(30); BEGIN SELECT sys_context('USERENV', 'SESSION_USER') INTO v_username FROM dual; DBMS_OUTPUT.PUT_LINE('当前会话用户名为:' || v_username); END;
在上面的示例中,我们使用sys_context函数获取当前会话的用户名,并将其存储在变量v_username中,然后通过DBMS_OUTPUT.PUT_LINE输出该用户名。因此,sys_context函数可以在动态SQL语句中使用,以获取会话相关信息。