概述
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;
表名是可以变换的,根据情况而变换
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;
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;
END;
注:如果是要执行select-into,好象into一定要写到语句外面..我最近碰到的情况就是这样的.
还有就是如果里面有操作,比如两个变量相加(a+b).必须把操作在之前就完成,然后把新的值用来执行.,而不能在执行时候写.否则会发生错
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28867265/viewspace-760102/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28867265/viewspace-760102/
最后
以上就是自由西装为你收集整理的表名可变的动态sql的全部内容,希望文章能够帮你解决表名可变的动态sql所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复