是的,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語句中使用,以獲取會話相關信息。