是的,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语句中使用,以获取会话相关信息。