oraclesql中的表明使用变量代替,动态控制查询的表

存储过程中使用sql拼接执行,执行过程完整代码如下。

实现思路是先把变量和字符串拼接成字符串,再调用execute immediate执行字符串。

--oracle 过程中执行拼接的sql
create or replace function fun_huanglijian(in_id varchar2) return varchar2 is
 
  v_sjkb   varchar2(500);
  v_sql    varchar2(5000);
  v_stuname   varchar2(5000);
  v_stusex    varchar2(5000);
 
begin
    select 't_stu' into v_sjkb from dual;        --变量赋值
    --使用变量代表表明拼接到sql字符串中
    v_sql := ' select stuname,stusex from '||v_sjkb||' where stuid = ''1'' ';
    execute immediate v_sql into v_stuname,v_stusex;    --执行sql
    dbms_output.put_line('打印输出'||v_stuname);
    dbms_output.put_line('打印输出'||v_stusex);
    commit;
  return '12';
end;

 

发布了19 篇原创文章 · 获赞 6 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览