这个是ORACLE中本地动态SQL
execute immediate Sql_Stmt using v1, v2, v3 into t1, t2, t3
Sql_Stmt 是动态的SQL语句
v1, v2, v3 是动态SQL语句绑定值 如对应 :1, :2, :3
t1, t2, t3 动态SQL的存放结果declare
Sql_Stmt varchar2(100);
t1 varchar2(50);
t2 varchar2(50);
t3 varchar2(50);
col1 varchar2(20);
col2 varchar2(20);
col3 varchar2(20);
v1 varchar2(20):='A';
v2 varchar2(20):='B';
v3 varchar2(20):='C';
begin
col1:='a'; --动态字段名
col2:='b'; --动态字段名
col3:='c'; --动态字段名
Sql_Stmt:='select '||col1||', '||col2||', '||col3||' from table_name'||
' where '||col1||'=:1 and '||col2||'=:2 and '||col3||'=:3';
execute immediate Sql_Stmt using v1, v2, v3 into t1, t2, t3;
dbms_output.put_line(t1||' '||t2|' '||t3);
end;
v1 对应 WHERE 中的 :1
v2 对应 WHERE 中的 :2
v3 对应 WHERE 中的 :3
execute immediate Sql_Stmt using v1, v2, v3 into t1, t2, t3
Sql_Stmt 是动态的SQL语句
v1, v2, v3 是动态SQL语句绑定值 如对应 :1, :2, :3
t1, t2, t3 动态SQL的存放结果declare
Sql_Stmt varchar2(100);
t1 varchar2(50);
t2 varchar2(50);
t3 varchar2(50);
col1 varchar2(20);
col2 varchar2(20);
col3 varchar2(20);
v1 varchar2(20):='A';
v2 varchar2(20):='B';
v3 varchar2(20):='C';
begin
col1:='a'; --动态字段名
col2:='b'; --动态字段名
col3:='c'; --动态字段名
Sql_Stmt:='select '||col1||', '||col2||', '||col3||' from table_name'||
' where '||col1||'=:1 and '||col2||'=:2 and '||col3||'=:3';
execute immediate Sql_Stmt using v1, v2, v3 into t1, t2, t3;
dbms_output.put_line(t1||' '||t2|' '||t3);
end;
v1 对应 WHERE 中的 :1
v2 对应 WHERE 中的 :2
v3 对应 WHERE 中的 :3
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货