ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 表名可变的动态sql

表名可变的动态sql

原创 Linux操作系统 作者:窗子小角落 时间:2013-05-08 11:24:29 0 删除 编辑
DECLARE
 
NUMBER;
v_table_name varchar2(30);
BEGIN
v_table_name :='xxxx';
EXECUTE IMMEDIATE 'SELECT COUNT(*) from '||v_table_name
INTO a;
DBMS_OUTPUT.put_line (a);
END;
 
表名是可以变换的,根据情况而变换
DECLARE
TABLENAME  varchar2(128);
N                 VARCHAR2(9);
AA              NUMBER;
BEGIN
N := '2';
TABLENAME := 'CJ仮登録' || N || 'TR';
EXECUTE IMMEDIATE 'select count(*) from ' || TABLENAME into AA;
dbms_output.put_line(AA);
END;
注:如果是要执行select-into,好象into一定要写到语句外面..我最近碰到的情况就是这样的.
还有就是如果里面有操作,比如两个变量相加(a+b).必须把操作在之前就完成,然后把新的值用来执行.,而不能在执行时候写.否则会发生错

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28867265/viewspace-760102/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 批量绑定
请登录后发表评论 登录
全部评论

注册时间:2013-05-08

  • 博文量
    38
  • 访问量
    46815