我正在尝试使下面的动态SQL,但:角色搞砸了 -
alter session set events 'sql_trace [sql: asasasaass]';
Run Code Online (Sandbox Code Playgroud)
例:
declare
l_trc_cmd varchar2(500);
l_sql_id varchar2(500) := 'asasasaass';
begin
l_trc_cmd := q'# alter session set events 'sql_trace [sql: :L_SQL_ID]' #';
execute immediate l_trc_cmd using l_sql_id;
end;
/
Run Code Online (Sandbox Code Playgroud)
以上失败:
ERROR at line 1:
ORA-01006: bind variable does not exist
Run Code Online (Sandbox Code Playgroud)
:根据SQL的语法需要一个,另一个:是绑定变量.
关于如何解决这个问题除了连接绑定值以外的任何想法?
- 于4月4日中部标准时间下午5点10分编辑,增加以下内容:
更改会话不是DDL命令.以下是证明.
sqlplus+> select * from t2;
A
----------
1
1 row selected.
sqlplus+> insert into t2 values(2);
1 row created.
sqlplus+> alter session set …Run Code Online (Sandbox Code Playgroud)